微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Centos 6.5下C连接MySQL测试

Centos 6.5下C连接MysqL测试


#include <stdio.h>
#include <string.h>
#include <errno.h>
#include "MysqL.h"

int main(void)
{
        MysqL *conn_ptr;
        MysqL_RES *res;
        MysqL_ROW row;

        char *host = "127.0.0.1";
        char *user = "root";
        char *password = "123456";
        char *db = "MysqL";
        unsigned int port = 3306;
        char *unix_socket = NULL;
        unsigned long client_flag = 0;

        conn_ptr = MysqL_init(NULL);
        if(!conn_ptr)
        {
                fprintf(stderr,"init MysqL Failed\n");
                return(-1);
        }

        conn_ptr = MysqL_real_connect(conn_ptr,host,user,password,db,port,unix_socket,client_flag);
        if(conn_ptr)
        {
                printf("Connection success......\n");
        }
        else
        {
                fprintf(stderr,"Connection Failed......%d:%s\n",errno,strerror(errno));
        }


        if( MysqL_query(conn_ptr,"select host,user from user"))
        {
                fprintf(stderr,"call MysqL_query Failed......%d:%s\n",strerror(errno));
        }

        res = MysqL_use_result(conn_ptr);

        fprintf(stdout,user from user talbe in the MysqL database:\n");


        while((row = MysqL_fetch_row(res)))
        {
                fprintf(stdout,"%s\t%s\n",row[0],row[1]);
        }

		
		//增加MysqL数据表的条目
		if( MysqL_query( conn_ptr,"insert into t_user values( 'Anna' )" ) ){
			printf("增加数据表条目失败 %d: %s\n",MysqL_errno(conn_ptr),MysqL_error(conn_ptr));//打印出错误代码及详细信息
		}else{
			printf("增加数据表条目成功 Inserted %lu rows\n",(unsigned long)MysqL_affected_rows(conn_ptr));//输出受影响的行数
		}
		//增加MysqL数据表的条目
		if( MysqL_query( conn_ptr,"insert into t_user values( 'Lisa' )" ) ){
			printf("增加数据表条目失败 %d: %s\n",(unsigned long)MysqL_affected_rows(conn_ptr));//输出受影响的行数
		}
		//删除MysqL数据表的条目
		if( MysqL_query( conn_ptr,"delete from t_user where name='Anna'" ) ){
			printf("删除数据表条目失败 %d: %s\n",MysqL_error(conn_ptr));//打印出错误代码及详细信息
		}else{
			printf("删除数据表条目成功 Delete %lu rows\n",(unsigned long)MysqL_affected_rows(conn_ptr));//输出受影响的行数
		}
		//更新修改MysqL数据表的条目
		if( MysqL_query( conn_ptr,"update t_user set name='Lisa00000' where name='Lisa'" ) )
		{
			printf("修改数据表条目失败 %d: %s\n",MysqL_error(conn_ptr));//打印出错误代码及详细信息
		}
		else//成功
		{
			printf("修改数据表条目成功 Update %lu rows\n",(unsigned long)MysqL_affected_rows(conn_ptr));//输出受影响的行数
		}
		//查询MysqL数据库中的表格
		if( MysqL_real_query(conn_ptr,"select * from t_user",(unsigned long)strlen("select * from t_user")) )//MysqL_real_query函数一个参数是定义的MysqL变量;第二个是SQL查询语句;第三个是查询语句的长度
		{
			printf("查询数据失败。\n");
		}
		else//查询数据成功
		{
			//存储结果集
			if( (res=MysqL_store_result(conn_ptr)) == NULL )
			{
				printf("保存结果集失败。\n");
			}
			else//保存结果集成功
			{
				while( (row=MysqL_fetch_row(res)) != NULL )//重复读取行,直到row为NULL
				{
				printf("name is %s\n",row[1]);//打印当前行的数据
				}
			}
		}

        MysqL_free_result(res);
        MysqL_close(conn_ptr);
        return 0;
}



centos6.5编译:

gcc -o test test.c -I/usr/include/MysqL/ -lMysqLclient -Wall -g -L/usr/lib64/MysqL

原文地址:https://www.jb51.cc/centos/379505.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。