如果数据库没有结果,PHP while语句会给我错误

时间:2013-09-09 03:38:45

标签: php mysql

如果数据库没有结果,PHP while语句会给我错误。如果数据库中什么也看不到,为什么它不能执行呢

while ($row = mysqli_fetch_assoc($result_tomorrow)) {
       $rowsB[] = $row['last'];
}

我得到的错误是未定义的变量$ rowsB。当我在数据库中放入一些东西时一切正常。我还尝试在if语句中包装while循环

if(results){
     while ($row = mysqli_fetch_assoc($result_tomorrow)) {
            $rowsB[] = $row['last'];
            }
}

这不起作用

4 个答案:

答案 0 :(得分:3)

是错误还是通知?你应该在while循环之前定义你的变量。

答案 1 :(得分:1)

如果您仅在查询未返回任何结果时收到错误,那么这是因为您稍后尝试使用$rowsB而未声明它(请注意错误的行#) 。您应该始终检查查询的结果是否也有效:

$rowsB = array();
if ($result_tomorrow) {
    while ($row = mysqli_fetch_assoc($result_tomorrow)) {
       $rowsB[] = $row['last'];
    }
}

答案 2 :(得分:0)

试试这个

if(mysqli_num_rows($result_tomorrow) > 0){
    while ($row = mysqli_fetch_assoc($result_tomorrow)) {
        $rowsB[] = $row['last'];
    }
}

答案 3 :(得分:-1)

首先检查数据库是否返回了一些内容然后执行你的while语句。

$result = mysqli_query($connection, $query); //execute the query

if( $result ){ //on successful query execution
 if( mysqli_num_rows($result) > 0 ){ //check for number of returned rows. If its > 0
   while( $row = mysqli_fetch_assoc($result) ){ //execute for loop
    //other statements
   }
 }
}