c程序访问mysql数据库实例

#include <stdio.h>
#include <stdlib.h>
#include <syslog.h>
#include "mysql.h"

int main(int argc, char * argv[])
{
	MYSQL my_connection;
	MYSQL_RES * my_res;
	MYSQL_ROW row;
	MYSQL_FIELD * fields;
	char str[30];
	int res;
	int i;

	mysql_init(&my_connection);
	
	if (mysql_real_connect(&my_connection, "192.168.1.30", "root", "mysql", "sun", 0, NULL, 0))
	{
		printf("connect succeed!\n");
		
		/*
		res = mysql_query(&my_connection, "insert into buddy(user_id, friend_id, nickname, signature)\
			 values(1001, 112233, 'kaka', 'god')");
		*/
	
		res = mysql_query(&my_connection, "select user.user_name, buddy.friend_id, buddy.nickname, buddy.signature\
			from buddy join user on buddy.user_id = user.user_id where user_name = 'Robert' order by friend_id"); 	
		if (!res){
			my_res = mysql_store_result(&my_connection);
	
			//print colunm
			int num_fields = mysql_num_fields(my_res);
			fields = mysql_fetch_fields(my_res);
			for (i = 0; i < num_fields; i++)
			{
				printf("%s ", fields[i].name);
			}
			printf("\n");			

			//print results
			while ( (row = mysql_fetch_row(my_res)) != NULL)
			{
				int * lengths = mysql_fetch_lengths(my_res);
				for (i = 0; i < num_fields; i++){
					printf("%s ", row[i] ? row[i] : "NULL");
				}
				memset(str, 0, sizeof(str));
				memcpy(str, row[2], strlen(row[2]));
				printf("[in c variable: %s]", str);
				printf("\n");
			}
			mysql_free_result(my_res);
		}
		else{
			printf("search error\n");
		}
		mysql_close(&my_connection);
		
	}
	else
	{
		printf("fail to connect	to mysql, error:%s\n", mysql_error(&my_connection));
	}
	
	return EXIT_SUCCESS;
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值