我想在运行while循环之前确保有结果,但我尝试的所有方法似乎都删除了第一个结果。
$nearbyResult = mysqli_query($con,$sqlNearby);
if(mysqli_fetch_array($nearbyResult) == 0) {
echo '<p>No results found, <a href="/add.php">Add your property here</a>.</p>';
} else {
while($rowNearby = mysqli_fetch_array($nearbyResult)) {
}
}发布于 2013-09-26 07:33:46
这一行将获取结果集的第一行并将其丢弃到bin中:
if(mysqli_fetch_array($nearbyResult) == 0) {更改为:
if( ! mysqli_num_rows($nearbyResult) ) {并检查你的异常函数的返回:
if( ! $nearbyResult = mysqli_query($con,$sqlNearby) ) {
echo "Mysql error: " . mysqli_error($con);
}发布于 2013-09-26 07:32:18
可以使用mysql_row_count方法计算查询http://php.net/manual/en/mysqli-result.num-rows.php中返回的行数
发布于 2013-09-26 07:32:32
尝试将结果赋给一个变量,作为if语句的一部分。如果mysqli_fetch_array()没有可处理的结果集,它将返回false。
if($rowNearby = mysqli_fetch_array($nearbyResult)) {
//There was a result, work with it here
doStuffWith($rowNearby);
} else {
//No records in your result set, handle as desired
}https://stackoverflow.com/questions/19016851
复制相似问题