我想在运行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)) {
}
}
答案 0 :(得分:3)
此行将获取结果集的第一行并将其放入bin:
if(mysqli_fetch_array($nearbyResult) == 0) {
更改为:
if( ! mysqli_num_rows($nearbyResult) ) {
检查你的freakin函数返回:
if( ! $nearbyResult = mysqli_query($con,$sqlNearby) ) {
echo "Mysql error: " . mysqli_error($con);
}
答案 1 :(得分:2)
您可以使用mysql_row_count方法计算查询中返回的行数http://php.net/manual/en/mysqli-result.num-rows.php
答案 2 :(得分:0)
尝试将结果作为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
}