-1

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

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

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

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

这也不起作用

4

4 回答 4

3

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

于 2013-09-09T03:42:47.787 回答
1

如果仅在查询未返回任何结果时出现错误,那是因为您试图$rowsB稍后使用而不声明它(注意错误是针对哪一行 # 的)。您应该始终检查查询结果是否也有效:

$rowsB = array();
if ($result_tomorrow) {
    while ($row = mysqli_fetch_assoc($result_tomorrow)) {
       $rowsB[] = $row['last'];
    }
}
于 2013-09-09T03:52:32.463 回答
0

试试这个

if(mysqli_num_rows($result_tomorrow) > 0){
    while ($row = mysqli_fetch_assoc($result_tomorrow)) {
        $rowsB[] = $row['last'];
    }
}
于 2013-09-09T03:44:59.093 回答
-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
   }
 }
}
于 2013-09-09T03:48:15.107 回答