- 论坛徽章:
- 0
|
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* 能不能进入数据库。
注:本文转自
http://blog.chinaunix.net/u2/64124/showart_1071035.html
(没有做过试验,仅是转帖参考)
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/68939/showart_1906189.html |
|