我正在将程序从 mysql 库转换为 mysqli。
编辑:更多上下文
我有以下代码调用一个类
case "purchasing";
$tab = 'purchasing';
require $classes . 'purchasing.php';
$purchases = new Purchase_list($search_term, $scope);
require $templates . 'header.php';
require $templates . 'purchasing.php';
break;
下面包含 get_result 的类是 Purchase_list Purchase list 基本上确定要从数据库中检索哪些行,运行查询并将结果分配给 $this->result
这部分显然是有效的,因为我有一个有效的结果。然后 $templates 。'采购.php'; 显示这些结果。
出于故障排除的目的,purchase.php 仅包含
while ($row = $purchases->get_result()) {
}
我在一个看起来像这样的类中有一个函数
function get_result() {
$results = mysqli_fetch_array($this->result);
if($results === FALSE) {
return false;
}else {
$results['OPENAMT'] = ($results['Puramt'] - $results['Recamt']);
return $results;
}
}
如果我注释掉 $results['OPENAMT'] 代码,一切正常,没有注释该代码会导致浏览器请求超时。此代码使用 mysql 扩展而不是 mysqli
任何人都可以阐明这里实际发生的事情。
$results 上的 var_dump 在尝试返回之前给出
array(11) {
[0]=> string(5) "23074"
["Purno"]=> string(5) "23074"
[1]=> string(3) "AEC"
["Vendno"]=> string(3) "AEC"
[2]=> string(10) "11/28/2012"
["Purdate"]=> string(10) "11/28/2012"
[3]=> string(4) "0.00"
["Puramt"]=> string(4) "0.00"
[4]=> string(4) "0.00"
["Recamt"]=> string(4) "0.00"
["OPENAMT"]=> float(0)
}