我正在研究一個簡單的C程序,它必須連接到我的數據庫,然後執行查詢,然後關閉連接。C程序的mysql連接
int main()
{
MYSQL *conn;
conn = mysql_init(NULL);
if (conn == NULL) {
printf("Error %u %s\n", mysql_errno(conn), mysql_error(conn));
exit(1);
}
if (mysql_real_connect(conn, "localhost", "root", "root", NULL, 8889, NULL, 0)) {
printf("Error %u: %s\n", mysql_errno(conn), mysql_error(conn));
exit(1);
}
if (mysql_query(conn, "create database testdb")) {
printf("Error %u: %s",mysql_errno(conn), mysql_error(conn));
exit(1);
}
mysql_close(conn);
return 0;
}
此代碼編譯,但是當我運行它,它會在mysql_query()
語句後退出。返回
以下錯誤:
Error 2006: MySQL server has gone away
我用谷歌來搜索答案,並在這裏結束了:
http://dev.mysql.com/doc/refman/5.0/en/gone-away.html
嘗試使用127.0.0.1而不是本地主機的簡單的C程序。 – dave 2010-08-10 20:40:41
你能打印這樣的每個語句的錯誤代碼嗎? http://www.cyberciti.biz/tips/linux-unix-connect-mysql-c-api-program.html – stacker 2010-08-10 20:44:04