linux 使用c语言连接mysql数据

 以下内容来自 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 目的文件名

你可能感兴趣的:(linux 使用c语言连接mysql数据)