3

请任何人都可以提供帮助。我正在尝试执行以下 php 代码:

   $sql="SELECT * FROM vendors WHERE vuid=".$uid."AND status="."'c'";
   $sql=$sql . "LIMIT 0, 10"; 
   $result=mysql_query($sql);
   $numrows=mysql_num_rows($result);        

   for($i=0;$i<$numrows;$i++)
   {

    if($numrows>0) 
    {
    mysql_data_seek($result,$i);
}

我收到以下错误警告:mysql_data_seek():偏移量 1 对 MySQL 结果索引 5 无效(或查询数据未缓冲)。$numrows 是 2,因此 mysql_data_seek 的范围是有效的。

提前致谢

4

1 回答 1

4

如果结果集为空,mysql_data_seek()将失败并显示 E_WARNING。那是我认为发生在您的情况下,因为您在调用 mysql_data_seek() 之前没有检查结果集是否为空。

如果行数 >=1,请始终检查结果,然后您可以安全地调用 mysql_data_seek()

if ( mysql_num_rows ( $sql ) > 0 )
{
    // do stuff, you have some results
}
else
{
    // no results to process
}  
于 2012-05-26T18:50:23.370 回答