在Ubuntu下费了好长时间终于让C操作MysqL成功了,在此把方法记下来,留着以后用。先安装MysqL
代 码:
sudo apt-get install MysqL-server MysqL-client
再装开发包
代码:
sudo apt-get install libMysqLclient15-dev
可以用以下代码测试一下
/* Simple C program that connects to MysqL Database server*/
#include <MysqL.h>
#include <stdio.h>
main() {
MysqL *conn;
MysqL_RES *res;
MysqL_ROW row;
char *server = "localhost";
char *user = "root";
char *password = ""; /* 此处改成你的密码 */
char *database = "MysqL";
conn = MysqL_init(NULL);
/* Connect to database */
if (!MysqL_real_connect(conn,server,user,password,database,NULL,0)) {
fprintf(stderr,"%s\n",MysqL_error(conn));
exit(1);
}
/* send sql query */
if (MysqL_query(conn,"show tables")) {
fprintf(stderr,MysqL_error(conn));
exit(1);
}
res = MysqL_use_result(conn);
/* output table name */
printf("MysqL Tables in MysqL database:\n");
while ((row = MysqL_fetch_row(res)) != NULL)
printf("%s \n",row[0]);
/* close connection */
MysqL_free_result(res);
MysqL_close(conn);
} 编译:
方法一:gcc test.c -o test -I/user/include/MysqL 试了一下,提示找不到MysqL.h。
我试了一下,提示找不到MysqL.h。
分析:
/user/include/MysqL:全是.h文件,应该应编译阶段
/user /lib/MysqL:是静态库和动态库,www.linuxidc.com应该与上面的.h文件对应,用于连接阶段。
方法二:gcc test.c -o test -L/user/lib/MysqL -lMysqLclient 成功!
方法三:gcc test.c -o test $(MysqL_config --cflags) $(MysqL_config --libs)
或者:gcc test.c -o test $(MysqL_config --cflags --libs) 成功!