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