- 论坛徽章:
- 0
|
不好意思..因試了很久也得不到結果..
只好在此發問,希望解答..
我是使用 C 連接 MYSQL 的..
連結正確可以取得數值..
可是在將取得的 row[1] 這欄位應該是為整數 2 的 (MYSQL顯示)
在程式當中,將 row[1] 指定給另一變數,不可以使用 online.level = row[1] 指定..
必須改為 online.level = (int)row[1]; 可是這樣得出來的結果就變成了 134680656
希望各位真的可以幫幫忙..解決小弟的問題...
void login {
MYSQL mysql_conn;
MYSQL_RES *result;
MYSQL_ROW row;
mysql_init(&mysql_conn);
if (!mysql_real_connect(&mysql_conn,vs("DB_HOST"),vs("DB_ID"),vs("DB_PW"),vs("DB_DB"),0,NULL,0) ) {
printf("connect mysql fail!!!\n");
exit(0);
}
sprintf(query,"SELECT username, password, level FROM cdb_members WHERE username = '%s' AND password = MD5('%s')",online.id,online.password);
if (mysql_query(&mysql_conn,query) == 0) { /* Run Query */
result = mysql_store_result(&mysql_conn);
row=mysql_fetch_row(result);
printf("%d",(int)row[2]);exit(0);
online.isuser=1;
online.level=row[2];
}else{
online.isuser=3;
}
} |
|