database.sarang.net
UserID
Passwd
Database
DBMS
ㆍMySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MySQL Q&A 31042 게시물 읽기
No. 31042
c에 mysql 데이터 불러오기
작성자
이화진(realpcy)
작성일
2017-04-16 02:15
조회수
6,046

 c와 mysql을 연동을 하였는데 insert하는 것과 select를 이용해 테이블 전체를 불러오는 것까지는 가능하게 되었습니다.

그런데 이제 로그인폼을 위해 mysql의 데이터와 c에서 입력한 아이디, 패스워드를 비교하여 로그인 성공 또는 실패를 나타내게 하는 방법을 잘 모르겠습니다.

c에서 mysql의 일부 컬럼만을 불러와 c에서 입력한 것과 비교하는 방법이 뭐가있을까요

=========================================================================================================

 

// 로그인 form

 

char id[20], pwd[20];

int state = 0;

char query[255]; // 쿼리에 메모리 할당

 

mysql_init(&mysql);

connection = mysql_real_connect(&mysql, DB_HOST, DB_USER, DB_PASS, DB_NAME, 3306, (char *)NULL, 0); // db 연결

 

state = mysql_query(connection, "select * from member"); // db 테이블 불러오기

 

res = mysql_store_result(connection);

 

printf("\t\t< 로그인 >\n\n");

// printf("%20s %10s", "아이디", "패스워드");

while ((row = mysql_fetch_row(res)) != NULL) {

//printf("%20s %10s\n",  row[1], row[2]);

}

 

mysql_free_result(res);

 

printf("아이디 : ");

scanf("%s", id);

// fgets(id, 20, stdin); // 문자열을 받음

// CHOP(id);

 

sprintf(query, "select * from member where id = '%s'", id);

mysql_query(conn, query);

 

if (id == row[1]) { // 아이디가 일치하면 비밀번호 입력으로 넘어감

 

printf("패스워드 : ");

fgets(pwd, 10, stdin);

// CHOP(pwd);

 

sprintf(query, "select * from member where pwd = %s", pwd);

if (pwd == row[2]) { // 비밀번호가 일치하면 로그인 성공

printf("로그인 성공\n");

}

 

else { // 아이디는 일치. 비번은 불일치하면 패스워드를 잘못입력하셨습니다.

printf("패스워드를 잘못 입력하셨습니다.\n");

}

}

else { // 아이디가 불일치하면 아이디가 일치하지 않았습니다로 넘어감

printf("아이디가 일치하지 않습니다.\n");

}

 

state = mysql_query(connection, query);

printf("state : %d\n", state);

 

if (state != 0) {

fprintf(stderr, "Mysql query error : %s", mysql_error(&conn));

return 1;

}

 

mysql_close(connection);

 

 

[Top]
No.
제목
작성자
작성일
조회
31059mariadb group by [1]
김씨
2017-05-12
5412
31045테이블 관련 질문입니다 [2]
goblin
2017-04-19
6118
31043InnoDB 테이블 DELETE시 용량이 줄어들지 않아요.ㅠㅠ [1]
김동천
2017-04-16
6309
31042c에 mysql 데이터 불러오기
이화진
2017-04-16
6046
31040책 추천 부탁드립니다. [2]
goblin
2017-04-05
6363
31039[질문]여러개의 필드를 분리해서 나열? [4]
감사합니다
2017-04-03
6558
31038[질문]연속데이타 가져오기 부탁드립니다. [2]
홍성욱
2017-03-28
6258
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다