4

我正在使用 zend studio 在 php 中进行编码。

在以下代码zend studio行中显示警告,但它工作正常并立即向我显示表格。 while...assignment in condition

$oDB = new db;
print '<strong>Twitter Database Tables</strong><br />';
$result = $oDB->select('SHOW TABLES');
while ($row = mysqli_fetch_row($result)) {
    print $row[0] . '<br />';
} 

但是,当我使用以下代码解决此警告时,它不会显示警告,zend studio但会在很长一段时间后向我显示表格,20 to 30 seconds并在结果下显示很长的空白。为什么?

$oDB = new db;
print '<strong>Twitter Database Tables</strong><br />';
$result = $oDB->select('SHOW TABLES');
while (( $row = mysqli_fetch_row($result)) !==FALSE) {
    print $row[0] . '<br />';
} 
4

1 回答 1

5

根据手册

mysqli_fetch_row() 返回对应于获取行的字符串数组,如果结果集中没有更多行,则返回 NULL。

您正在检查 BOOL 响应,因此脚本继续。使用 != FALSE 或 !== NULL。

代码可以是:

while (($row = mysqli_fetch_row($result)) != FALSE) {

或者

while (($row = mysqli_fetch_row($result)) !== NULL) {
于 2012-12-26T17:17:42.020 回答