プログラムを 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 です 購入リストは基本的に、データベースから取得する行を決定し、クエリを実行し、結果を $this->result に割り当てます
有効な結果が得られたので、その部分は明らかに機能しています。次に $templates . 'purchasing.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'] コードをコメントアウトすると、すべてがうまく機能し、そのコードがコメント化されていないと、ブラウザのリクエストがタイムアウトします。このコードは、mysqli の代わりに mysql 拡張機能で動作しました。
ここで実際に何が起こっているのか、誰かが光を当てることができますか.
返そうとする前の $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)
}