我正在尝试重置变量中的数据,以便我可以再次调用它。如果第一个查询中有数据,我需要它来运行重置。首先我要检查数据,其次,如果有数据,我将索引设置回0.
这适用于我的localhost环境,但不适用于我的实时环境。我知道我收到了错误,因为第一个查询没有显示任何结果,因此mysql_num_rows($query)
为空。
我收到错误:Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource.
(当第一个查询出现结果,成功重置并显示第二个查询时,此代码有效。)
if (mysql_num_rows($query)){
mysql_data_seek($query, 0);
}
有没有更好的方法可以检查第一个查询是否有信息,如果没有找到任何信息,可以不吐出错误?
答案 0 :(得分:1)
注意关于使用mysql_的其他评论?功能
如果由于某种原因你要多次迭代结果,那么在Marc B评论的第一遍中将它们转储到数组中。例如(仍然使用你的mysql_?函数);
$result = mysql_query($query);
if (!$result) {
echo 'Could not run query: ' . mysql_error();
exit;
}
while($row = mysql_fetch_row($result)){
$myResultSet[]=$row;
}
一旦完成,我们可以按照我们喜欢的方式遍历该集合
foreach($myResultSet as $row){ # note foreach resets each time
# do stuff with $row['fieldname']
}
您应该利用这个机会将mysql_更新为更新的方法...这个底层解决方案将保持不变。
如果没有回复,请发布更多代码,以便我们了解您尝试做的原因和内容。