LINUX下C语言连接mysql实例源码介绍,
插入操作:
[cpp] view plaincopy
- #include
- #include
- int
main(int argc,char *argv[]) - {
-
MYSQL conn; -
int res; -
mysql_init(&conn);//初始化 连接 -
if(mysql_real_connect(&conn,”localhost”,”root”,”123″,”test”,0,NULL,CLIENT_FOUND_ROWS)) -
{ -
printf(“数据库连接成功/n”); -
res = mysql_query(&conn,”insert into test values(‘user’,’123456′)”);//插入语句,成功返回0,失败返回1 -
if(res) -
{ -
printf(“语句执行失败/n”); -
mysql_close(&conn);//记得关闭连接 -
} -
else -
{ -
printf(“语句执行成功/n”); -
mysql_close(&conn); -
} -
} -
return 0; - }
查询操作:
[cpp] view plaincopy
- void
query_sql(char* sql) - {
-
MYSQL my_connection; -
int res; -
MYSQL_RES *res_ptr; -
MYSQL_FIELD *field; -
MYSQL_ROW result_row; -
-
int row, column; -
int i, j; -
-
-
mysql_init(&my_connection); -
-
-
if (mysql_real_connect(&my_connection, HOST, USERNAME, PASSWORD, -
DATABASE, 0, NULL, CLIENT_FOUND_ROWS)) -
{ -
-
printf(“数据库查询query_sql连接成功!n”); -
-
mysql_query(&my_connection, “set names utf8″); -
-
-
res = mysql_query(&my_connection, sql); -
-
if (res) -
{ -
printf(“Error: mysql_query !n”); -
-
mysql_close(&my_connection); -
} -
else -
{ -
-
-
res_ptr = mysql_store_result(&my_connection); -
-
-
if (res_ptr) -
{ -
-
column = mysql_num_fields(res_ptr); -
row = mysql_num_rows(res_ptr) + 1; -
printf(“查询到 %lu 行 n”, row); -
-
-
for (i = 0; field = mysql_fetch_field(res_ptr); i++) -
printf(“%st”, field->name); -
printf(“n”); -
-
-
for (i = 1; i < row; i++) -
{ -
result_row = mysql_fetch_row(res_ptr); -
for (j = 0; j < column; j++) -
printf(“%st”, result_row[j]); -
printf(“n”); -
} -
-
} -
-
-
mysql_close(&my_connection); -
} -
} - }
编译:gcc -o test_mysql test_mysql.c `mysql_config –cflags –libs`
插入 删除 更新操作返回一个整形数值,以判断成功与否。查询返回的更复杂。