以下內容來自 beginning linux programming一書
c連接mysql兩步驟
1. 初始化一個連接句柄結構
2. 實際進行連接
#include <stdlib.h>
#include <stdio.h>
#include "mysql.h"
int main(char arc,char *argv[])
{
MYSQL *conn_ptr;
conn_ptr = mysql_init(NULL);
conn_ptr = mysql_real_connect(conn_ptr,"localhost","rick","123456",
"foo",0,NULL,0);
if(conn_ptr)
printf("connection success\n");
mysql_close(conn_ptr);
}
exit(EXIT_SUCCESS);
//錯誤處理
#include <stdlib.h>
#include <stdio.h>
#include "mysql.h"
int main(char arc,char *argv[])
{
MYSQL my_connection;
mysql_init(&my_connection);
if(mysql_real_connect(&my_connection,"localhost","rick","i don't know",
"foo",0,NULL,0))
{
printf("connection success\n");
mysql_close(&my_connection);
}
else
{
fprintf(stderr,"connection failed\n");
if(mysql_errno(&my_connection))
fprintf(stderr,"connection error %d:%s\n",mysql_errno(&my_connection),mysql_error(&my_connection));
if(mysql_errno(&my_connection))
fprintf(stderr,"connection error %d:%s\n",mysql_errno(&my_connection),mysql_error(&my_connection));
}
exit(EXIT_SUCCESS);
}
說明:mysql_real_connect其中一個參數”i don't know‘對應不正確的密碼,所以連接失敗。
輸出:connection failed
connection error 1045:Access denied for user
'rick'@'localhost' (using password: YES)
編譯指令:gcc 源文件名 -I/usr/include/mysql -L/sur/lib/mysql -lmysqlclient -o 目的文件名