这里主要展示了select语句;insert等不需要返回内容的语句就更加简单了。 这里连接的是公司的数据库,小伙伴要测试的话请自行修改参数。 Mysq API:主要就是那么几个 MYSQL* conn 这个conn是一个数据库链接句柄,以后的操作实际上就是操作这个句柄; so : conn = mysql_init(NULL);
初始化获得一个mysql句柄; 失败返回null
mysql的连接函数有两个: mysql_connect 但是在mysql 官方手册中这么说的: This function is deprecated. Use mysql_real_connect() instead. 这个函数是弃用。使用mysql_real_connect()。 so 大家尽量使用mysql_real_connect() 。当然某些低版本 mysql应该是可以用的。
函数mysql_real_connect建立一个到mysql数据库的链接。调用这个函数要提供 链接句柄、主机名、用户、密码等参数,最后四个参数依次是数据库名、端口、unix套接字和客户端标志。
if (mysql_real_connect(conn, "localhost", "user", "passwd", NULL, 0, NULL, 0) == NULL) { printf("Error %u: %s/n", mysql_errno(conn), mysql_error(conn)); exit(1); }用户和密码参数使用任何字符集为MYSQL配置对象; 如果端口不是0,该值用于TCP / ip连接的端口号。 如果unix_socket不是NULL,字符串指定套接字或命名管道使用。 client_flag的价值通常是0,但可以设置为下列标志的组合,使某些特性。 flag详细说明有一张表,大家可以去下面这个网址去看。 https://dev.mysql.com/doc/refman/5.5/en/mysql-real-connect.html
int mysql_real_query(MYSQL *mysql, const char *query, unsigned int length)参数三个,第一个就是那个mysql句柄,第二个就是一个字符串,也就是相应的sql语句;第三个长度,一般strlen(mysql)就ok;你不应该在语句后增加一个终止的分号(“;”)或/g。
对于mysql查询结果 有一个专门的数据类型: MYSQL_RES 查询结果会存在这个文件句柄里,操作这个句柄即可得到相应的内容;
RES = MYSQL_RES *mysql_store_result(MYSQL *mysql);这个大家请看上面代码吧,基本写法差不多。
最好说道编译,要加头文件 mysql.h;并且要链接库; -I/usr/include/mysql/ -L/usr/lib/mysql -lmysqlclient 例如 gcc -o test test.c -I/usr/include/mysql/ -L/usr/lib/mysql -lmysqlclient 最后面这个东西是要安装的;
新闻热点
疑难解答