MYSQL_ROW对象是否有长度?

时间:2014-09-17 14:58:57

标签: c++ mysql

我一直在尝试从MYSQL_ROW对象中检索结果的长度(总列数),但没有这样的运气。有没有办法做到这一点?

到目前为止,我有一种硬编码方式,可以使用以下代码检索前四列。

while((result = mysql_fetch_row(resource))){
    printf("%s %s %s %s \n",result[0],result[1],result[2],result[3]);
}

每当我尝试访问结果对象中的任何值时,我都会遇到一个空白的意见框。我试过猜测,但这并没有真正帮助..

2 个答案:

答案 0 :(得分:0)

获得结果后:

MYSQL_RES* res = mysql_store_result( conn );

MYSQL_RES* res = mysql_use_result( conn );

MYSQL_RES* res = mysql_stmt_result_metadata( stmt );

(取决于您使用的界面)您可以使用

int unsigned columns = mysql_num_fields( res );

获取sql结果中的列数。

答案 1 :(得分:-1)

使用mysql_num_rows($resource)得到受影响的行的长度,这将使用您的搜索返回整行的搜索行