c/c++语言开发共享C程序mysql连接

我正在研究一个简单的c程序,它必须连接到我的数据库,然后执行查询然后关闭连接。

int main() { MYSQL *conn; conn = mysql_init(NULL); if (conn == NULL) { printf("Error %u %sn", mysql_errno(conn), mysql_error(conn)); exit(1); } if (mysql_real_connect(conn, "localhost", "root", "root", NULL, 8889, NULL, 0)) { printf("Error %u: %sn", mysql_errno(conn), mysql_error(conn)); exit(1); } if (mysql_query(conn, "create database testdb")) { printf("Error %u: %s",mysql_errno(conn), mysql_error(conn)); exit(1); } mysql_close(conn); return 0; } 

这段代码编译但是当我运行它时,它将在mysql_query()语句之后退出。

返回以下错误:

 Error 2006: MySQL server has gone away 

我使用谷歌搜索答案,最后来到这里:

https://dev.mysql.com/doc/refman/5.0/en/gone-away.html

    返回值如果连接成功,则为MYSQL *连接句柄;如果连接>不成功,则为NULL。 对于成功连接,返回值与> first参数的值相同。

    你的联系没有

    / *连接到MySQL数据库服务器的简单C程序* /

      #include  #include  main() { MYSQL *conn; MYSQL_RES *res; MYSQL_ROW row; char *server = "localhost"; char *user = "root"; char *password = "PASSWORD"; /* set me first */ char *database = "mysql"; conn = mysql_init(NULL); /* Connect to database */ if (!mysql_real_connect(conn, server, user, password, database, 0, NULL, 0)) { fprintf(stderr, "%sn", mysql_error(conn)); exit(1); } /* send SQL query */ if (mysql_query(conn, "show tables")) { fprintf(stderr, "%sn", mysql_error(conn)); exit(1); } res = mysql_use_result(conn); /* output table name */ printf("MySQL Tables in mysql database:n"); while ((row = mysql_fetch_row(res)) != NULL) printf("%s n", row[0]); /* close connection */ mysql_free_result(res); mysql_close(conn); } 

    您的连接失败 – 您的测试应该是:

     if (mysql_real_connect(...) == NULL) { printf("..."); exit(1); } 

    mysql_real_connect失败时返回NULL,或成功时返回连接句柄。

    –Dave

      以上就是c/c++开发分享C程序mysql连接相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/c-cdevelopment/549938.html

      (0)
      上一篇 2021年1月14日
      下一篇 2021年1月14日

      精彩推荐