今天在看《Linux C 程序设计》8.3节,一下午终于调通了程序,记下来
1.创建并授权用户
2.创建数据库
3.敲代码
下面的代码来自《Linux C 程序设计》第四版
/*-----connect1.c-----以用户rick和密码secret来连接本机服务器上名为foo的数据库---------------------------*/
#include <stdlib.h>
#include <stdio.h>
#include <mysql/mysql.h>//原文为 #include <mysql.h>无法通过编译
int main(int argc, char *argv[]){
MYSQL *conn_ptr;
conn_ptr = mysql_init(NULL);
if(!conn_ptr) {
fprintf(stderr, "mysql_init failed\n");
return EXIT_FAILURE;
}
conn_ptr = mysql_real_connect(conn_ptr, "localhost", "rick", "secret", "foo", 0, NULL, 0);
if(conn_ptr) {
printf("connection success\n");
} else {
printf("connection failed\n");
}
mysql_close(conn_ptr);
return EXIT_SUCCESS;
}
说明:
1.编译找不到 /usr/include/mysql/mysql.h,在终端运行
apt-get install libmysqlclient-dev
2.编译找不到mysql_init(), mysql_real_connect(), mysql_close(),添加链接选项(函数实现的位置)
gcc connect1.c -o conn1 -l mysqlclient
3.eclipse-indigo 下编译需要配置项目的编译选项
右键项目--Properties--GCC C Linker--Libraries--(在-l栏添加 mysqlclient)
另外的例子:
http://blog.sina.com.cn/s/blog_494e45fe0100k9p8.html
http://blog.chinaunix.net/uid-20787846-id-1842214.html
当然最重要的还是
http://dev.mysql.com/doc/refman/5.5/en/c-api.html