您的位置:首页 > 数据库 > MySQL

mysql c

2015-10-22 17:04 453 查看
1. 添加头文件

# apt-get install libmysqlclient-dev


引入头文件

#include <mysql/mysql.h>


2. 举例

#include <stdio.h>
#include <mysql/mysql.h>
#include <string.h>

int main()
{
MYSQL mysql;
MYSQL_RES *res;
MYSQL_ROW row;

char sql[50];
int t;
sprintf(sql,"select * from user");

mysql_init(&mysql);     //初始化mysql结构
//      if(mysql_real_connect(&mysql,NULL,"root","mysql","mysql",3306,NULL,0))
if(mysql_real_connect(&mysql,"localhost","root","mysql","mysql",0,NULL,0))
{
printf("连接数据库成功!\n");
}

t = mysql_real_query(&mysql,sql,(unsigned int)strlen(sql));     //在服务器上执行定义的sql语句
if(t)
{
printf("查询语句错误:%s\n",mysql_error(&mysql));
}
else
{
res = mysql_store_result(&mysql);       //读取结果置于结构中
while(row = mysql_fetch_row(res))       //检索结果集的下一行
{
unsigned long *lengths;
lengths = mysql_fetch_lengths(res);    //当前行列的长度
for(t = 0;t < mysql_num_fields(res);t++)        //获取结合集中的行数(行内)
{
printf("%d ",(int)lengths[t]);
printf("%s\n",row[t]?row[t]:"NULL");    //防止指针为空报段错误
}
printf("\n");
}
}

printf("释放结果集的空间...\n");
mysql_free_result(res);
mysql_close(&mysql);    //释放数据库
return 0;
}


需要链接库:libmysqlclient.so

3 结果集中的行数

mysql_field_count(MYSQL *mysql)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: