C链接mysql 没有任何输出信息~


使用官方的 “MySQL Connector C 6.1” 操作mysql ,先看代码:


 #include <stdio.h>
#include <mysql.h>
int main(int argc, char** argv) {
    MYSQL* mysql = NULL;
    mysql_init(mysql);
    if (!mysql_real_connect(mysql, "127.0.0.1", "root", "123", "test", 3306,
    NULL, 0)) {
        printf("Error:%s", mysql_error(mysql));
    } else {
        printf("success");
    }

    mysql_close(mysql);
    return 0;
}

然后gcc编译的命令为 (eclipse):


 gcc "-IG:\\Program Files\\MySQL\\MySQL Connector C 6.1\\include" -O0 -g3 -Wall -c -fmessage-length=0 -o "src\\demo.o" "..\\src\\demo.c" 
gcc "-LG:\\Program Files\\MySQL\\MySQL Connector C 6.1\\lib" -o C_mysql.exe "src\\demo.o" -llibmysql

编译和链接都没有出错,但是就是没有输出信息,理论上应该有个 "error"或者"success"信息的!

=================================
以及解决了!应该mysql分配内存空间。
MYSQL *mysql=(MYSQL*)malloc(sizeof(MYSQL)*100);

c mysql

纯洁诚实小郎君 10 years, 7 months ago

Your Answer