0

我正在使用 c++ 开发 MySql 应用程序。我无法打印我的 MySQL 表中的所有记录。下面的代码只是打印第一列的数据。

  MYSQL *conn= mysql_init(NULL);
  MYSQL_RES *res; /* holds the result set */
  MYSQL_ROW row;
  if(mysql_real_connect(conn, "xx.1x3.1xx.7x", "ixxx", "00000000", "xxx", 0, NULL, 0)){
    char q[1000];
    mysql_query(conn, "select id FROM user");
    res = mysql_store_result(conn);
    int num_fields = mysql_num_fields(res);
    while ((row = mysql_fetch_row(res)))
    {
       // Print all columns
       for(int i = 0; i < num_fields; i++)
       {
           // Make sure row[i] is valid!
                char *val = row[i];
                std::cout << row[i][1] << std::endl;

                //std::cout << "NULL" << std::endl;

           // Also, you can use ternary operator here instead of if-else
           // cout << row[i] ? row[i] : "NULL" << endl;
       }
    }

  }
4

2 回答 2

1

抱歉,我想错了 ahhh .. select id FROM user - > select * FROM user

于 2017-11-04T22:19:19.077 回答
1

您的查询只选择字段 id,它应该是“select * from user”

于 2017-11-04T22:19:57.957 回答