作者:芬妮诗婚纱厂 | 来源:互联网 | 2023-09-24 15:37
MYSQL数据库在许多编程语言里都会提供相应的调用接口,经典的C当然不会例外,直接用C进行调用数据库操作,效率会比较高些。下面是在LINUX上使用MYSQL的例子:
#include
#include
#include "mysql/mysql.h" int main(void)
{int status = 0;const char *host = "";const char *user = "hello";const char *pass = "123456";const char *db = "ProjectA";char sql[1024];MYSQL mysql;MYSQL_RES *rs;MYSQL_ROW row;mysql_init(&mysql); if (!mysql_real_connect(&mysql, host, user, pass, db, 0, NULL, 0)){printf("数据库连接失败: %s\n", mysql_error(&mysql));status = -1;} else {printf("数据库连接成功!\n");}if (!mysql_set_character_set(&mysql, "utf8")){ printf("New client character set: %s\n",mysql_character_set_name(&mysql));status = -2;}sprintf(sql, "select CommPassword, sn from Machines");if (mysql_real_query(&mysql, sql, strlen(sql))!=0){ printf( "%s", mysql_errno(&mysql), mysql_error(&mysql));printf("error---\n");status = -3;}rs = mysql_store_result(&mysql); if(mysql_num_rows(rs) > 0){row = mysql_fetch_row(rs);printf("row-1 %s, row-2 %s\n", row[0], row[1]);}mysql_free_result(rs); mysql_close(&mysql); return status;
}
由于用到了mysql相关的接口,所以在编译里需要加入mysqlclient库,如下
gcc Mysql.c -o Mysql -lmysqlclient Mysql.c为以上提供的源代码。
编译过程里遇到的问题:
Mysql.c:3:27: fatal error: mysql/mysql.h: No such file or directory
在ubuntu里直接sudo apt-get install libmysqlclient-dev, 安装一下libmysqlclient-dev这个库包即可。