请看以下代码
先执行 mysql_query(mysql,SQLstr)
if(mysql_query(mysql,SQLstr))
{
StrErr=mysql_error(mysql);
}
然后用以下函数处理结果
if( ResRecordstr(mysql,&SizeToatl,StrTotal)<0)
{
}
//
以下是函数原形
int ResRecordstr(MYSQL* mysql,unsigned long* SizeToatl,char* StrTotal)
{
res=mysql_use_result(mysql);
fields = mysql_fetch_fields(res);
num_fields = mysql_num_fields(res);
num_rows= mysql_num_rows(res);
}
这样子处理行么 ?
最后的结果是 num_fields 能得到正确的值
可是 num_rows 总是为 0
为什么?
把mysql作为参数传为什么不行?
---------------------------------------------------------------
调用mysql_use_result()后要循环调用mysql_fetch_row(),遍历完所有行后再调用mysql_num_rows()就行了;
或者你不用mysql_use_result(),换成mysql_store_result(),再调用mysql_num_rows()就行了,这样就不用先遍历所有的行。