作者 主題: 以C語言連結MYSQL的問題  (閱讀 6173 次)

0 會員 與 1 訪客 正在閱讀本文。

chintone

  • 懷疑的國中生
  • **
  • 文章數: 81
    • 檢視個人資料
以C語言連結MYSQL的問題
« 於: 2003-06-30 20:53 »
請問有人曾經用C語言成功連結MYSQL的經驗嗎?
我透過MYSQL 的C API mysql_real_connect 去連結
可是總是失敗 :cry:

我檢查mysql database內user TABLE的內容
HOST; Username ; Password都和我mysql_real_connect ()內的值相同
有誰知道有什麼其他可能的原因呢????

另外
我想檢查LOG的內容去找原因
可是手冊內關於LOG FILE 的設定看不大懂呢!
有誰知道MYSQL LOG FILE怎麼設定產生呢????特別是query log的部分!!!!
感恩啦!!!!!!

abelyang

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 1097
    • 檢視個人資料

chintone

  • 懷疑的國中生
  • **
  • 文章數: 81
    • 檢視個人資料
以C語言連結MYSQL的問題
« 回覆 #2 於: 2003-06-30 21:32 »
引述: "abelyang"
http://phorum.study-area.org/viewtopic.php?p=82285&highlight=#82285


看了您提供的例子
還是看不出什麼端倪耶!!!
下面是我的C程式碼
#include <stdio.h>
#include <mysql/mysql.h>
int main(int argc,char *argv[])
{
 MYSQL mysql;
 char *query = "UPDATE dns_log SET log_name=UPPER(log_name)";
 mysql_init(&mysql);

 if(!mysql_real_connect(&mysql,"localhost","test","test2002","mysql",0,NULL,0));
    {
     fprintf(stderr,"Failed to connect to database.Error:%s\n",mysql_error(&mysql));
     exit();
    }

 if (mysql_query(&mysql,query))
    {
     fprintf(stderr,"Query failed:%s\n",mysql_error(&mysql));
    }
 else
    {
     printf("%d titles changed.",mysql_affected_rows(&mysql));
    }
 mysql_close;
}
下面是我的MYSQL 資料庫內MYSQL user TABLE的內容:
| Host      | User     | Password         | Select_priv | Insert_priv | Update_priv | Delete_priv | Create_priv | Drop_priv | Reload_priv | Shutdown_priv | Process_priv | File_priv | Grant_priv | References_priv | Index_priv | Alter_priv |
+-----------+----------+------------------+-------------+-------------+---------
| %         | test | 076e7bb659634acd | Y           | Y           | Y           | Y           | Y           | Y         | Y           | Y             | Y            | Y         | N          | Y               | Y          | Y          |

麻煩大家囉!!!

abelyang

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 1097
    • 檢視個人資料
以C語言連結MYSQL的問題
« 回覆 #3 於: 2003-06-30 23:03 »
那你執行的結果是什麼呢 ?

我不知道你的問題在那裏, 不過你試著加上這兩句在 connect 前
mysql_options(&mysql,MYSQL_OPT_COMPRESS,0);
mysql_options(&mysql,MYSQL_READ_DEFAULT_GROUP,"odbc");

不然你可試著用我的版本改一下試試
或著如果你會用 gdb , 你就 trace 一下看看問題所在