ubuntu linux mysql 开发模式与连接编译

【源码 测试】

#include <sys/time.h>
#include <stdio.h>
#include <mysql.h>

int main(void)
{
    MYSQL_RES *result;
    MYSQL_ROW row;
    MYSQL *connection, mysql;
    int state;

    mysql_init(&mysql);
    connection = mysql_real_connect(&mysql,"localhost","root","951241","mysql",0,0,0);
    if (connection == NULL)
    {
        printf(mysql_error(&mysql));
        return 1;
    }

    state = mysql_query(connection, "SELECT Host, User, Password FROM user");
    if (state !=0)
    {
        printf(mysql_error(connection));
        return 1;
    }
    result = mysql_store_result(connection);
    printf("Rows:%d\n",mysql_num_rows(result));

    while ( ( row=mysql_fetch_row(result)) != NULL )
    {
        printf("%s, %s, %s\n", (row[0] ? row[0] : "NULL"), (row[1] ? row[1] : "NULL" ), (row[2] ? row[2] : "NULL"));
    }

    mysql_free_result(result);
    mysql_close(connection);

    return 0;
};

【mysql】
要装有Mysql 数据库 apt-get install mysqlclient mysqlserver libmysqlclient-dev

【编译】
sudo gcc $(mysql_config --cflags) main.c -o $(mysql_config --libs)
sudo g++ test.cpp -I/usr/include/mysql /usr/lib/mysql/libmysqlclient    -----------------[这个没上面那个好用,有可能目录不对]

【部分错误分析1】
/home/qiang/client_soft/mysql/main.c||In function ‘main’:|
/home/qiang/client_soft/mysql/main.c|13|error: stray ‘\342’ in program|
/home/qiang/client_soft/mysql/main.c|13|error: stray ‘\200’ in program|
………………………………………………………………………………………………
finished: 10 errors, 5 warnings ===|

这个'342'是双引号为汉字,由于是从网上down的,符号问题。。。。常常出现

【部分错误分析2】

包含文件不会。只要安装好mysql和程序没有问题,运行上边编译的命令(如果是IDE要手动加载),就不有问题。

【运行效果】数据库 mysql.user 存在数据才有显示 可以更改 上面的代码

原文地址:https://www.cnblogs.com/upendi/p/2618430.html