php – 要解决“在条件中分配”使用!== false减慢脚本速度.为什么?
作者:互联网
我正在使用zend studio在php中编码.
在zend studio中,以下代码中的while行显示了条件警告中的赋值,但它工作正常并立即向我显示表格.
$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工作室中显示警告,但它会在很长一段时间后显示约20至30秒的表格,并在结果中显示长的空白区域.为什么?
$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 />';
}
解决方法:
根据the manual:
mysqli_fetch_row() returns an array of strings that corresponds to the
fetched row or NULL if there are no more rows in result set.
您正在检查BOOL响应,因此脚本继续.使用!= FALSE或!== NULL.
代码可以是:
while (($row = mysqli_fetch_row($result)) != FALSE) {
要么
while (($row = mysqli_fetch_row($result)) !== NULL) {
标签:php,mysql,zend-framework,zend-studio 来源: https://codeday.me/bug/20190620/1246214.html