linux下C语言连接mysql的程序
#include <stdlib.h> #include <stdio.h> #include <mysql/mysql.h> #include <syslog.h> MYSQL mysql; void doQuery() { MYSQL_ROW m_row; MYSQL_RES *m_res; char sql[1024]; sprintf(sql,"select count(*) from my_table"); if(mysql_query(&mysql,sql) != 0) { fprintf(stderr, "mysql_query err: %s",mysql_error(&mysql)); } m_res = mysql_store_result(&mysql); if(m_res==NULL) { fprintf(stderr, "get result err: %s",mysql_error(&mysql)); } if(m_row = mysql_fetch_row(m_res)) { printf("count(*) is %d!\n",atoi(m_row[0])); } mysql_free_result(m_res); } main() { char host[32] = "my_host"; char user[32] = "my_user"; char passwd[32] = "my_passwd"; char db[32] = "my_db"; if( mysql_init(&mysql) == NULL ) { fprintf(stderr,"Init mysql err!"); return -1; } if (mysql_real_connect(&mysql,host,user,passwd,db,0,NULL,0) == NULL) { fprintf(stderr,"Connect to mysql Error:%s!",mysql_error(&mysql)); return -1; } else { puts("Connect to mysql success!"); } doQuery(); mysql_close(&mysql); return 0; }
|
编译使用命令:在/usr/lib/mysql下搜索mysqlclient库,并使用zlib库:
gcc -g c_mysql.c -L/usr/lib/mysql -lmysqlclient -lz
怎么我连接我本机的数据库出现如下错误呢:
Can't create UNIX socket (24)
Can't connect to local MySQL server through
socket '/var/lib/mysql/mysql.sock' (24)
根据打印的提示,说明你的MySQL启动不正常。
你试试用SSH到服务器,然后用命令行 mysql -u* -p* 能不能进入数据库。
阅读(3181) | 评论(0) | 转发(0) |