在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) 成功!