Linux应用程序--Mysql编程
文章摘要: 本文描述了基于C语言的Mysql数据库操作例程。
测试平台: Debian 8
#include <stdlib.h>
#include <stdio.h>
#include <mysql/mysql.h>
#include <syslog.h>
MYSQL mysql;
/* 查询操作 */
void do_query()
{
MYSQL_ROW m_row;
MYSQL_RES* m_res;
char sql[1024];
sprintf(sql,"select * from caton_name_list;");
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));
}
while(m_row = mysql_fetch_row(m_res))
{
printf("%s\t %s\t %s\r\n",m_row[0],m_row[1],m_row[2]);
}
mysql_free_result(m_res);
}
/* 主程序 */
int main(int argc, char* argv[])
{
char host[32] = "localhost";
char user[32] = "username";
char passwd[32] = "password";
char dbname[32] = "dbname";
if( mysql_init(&mysql) == NULL )
{
fprintf(stderr,"Init mysql err!");
return -1;
}
// 连接数据库
if(mysql_real_connect(&mysql,host,user,passwd,dbname,0,NULL,0)==NULL)
{
fprintf(stderr,"Connect to mysql Error:%s!",mysql_error(&mysql));
return -1;
}
else
{
puts("Connect to mysql success!");
}
do_query();
mysql_close(&mysql); // 关闭连接
return 0;
}
编译:
#gcc -o mysql msyql.c -lmysqlclient
注意事项:
1.需要静态库libmysqlclient.a支持;