StevenPGao 2018-06-11 08:42 采纳率: 33.3%
浏览 2138
已结题

为什么明明有结果集但是mysql_num_rows(result)总是为0???

bool MyDB::exeSQL(string sql)

{

// mysql_query()执行成功返回0,失败返回非0值。与PHP中不一样

if(mysql_query(connection, sql.c_str()))

{

cout << "Query Error:" << mysql_error(connection);

exit(1);

}

else

{

result = mysql_use_result(connection); // 获取结果集

// mysql_field_count()返回connection查询的列数
cout << mysql_num_rows(result) << endl;
cout << mysql_num_fields(result) << endl;
for(int i=0; i < 3; ++i)

{

        // 获取下一行  
        row = mysql_fetch_row(result);  
        if(row <= 0)  
        {  
            break;  
        }  
        // mysql_num_fields()返回结果集中的字段数  
        for(int j=0; j < mysql_num_fields(result); ++j)  
        {  
            cout << row[j] << " ";  
        }  
        cout << endl;  
    }  
    // 释放结果集的内存  
    mysql_free_result(result);  
}  
return true;  

}

图片说明

图片说明

  • 写回答

3条回答 默认 最新

  • 知行,自省 2018-06-11 13:58
    关注

    mysql_num_rows()的返回值为my_ulonglong类型,在某些系统上打印可能不成功,尝试用下面的写法打印:

    cout << (unsigned long)mysql_num_rows(result) << endl;

    评论

报告相同问题?

悬赏问题

  • ¥15 如何获取烟草零售终端数据
  • ¥15 数学建模招标中位数问题
  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?
  • ¥15 matlab(相关搜索:紧聚焦)