次のように PHP/MySqli を使用してクエリを作成しています。
$sql = $mysqli->prepare("SELECT * FROM rooms
WHERE 1
LIMIT 0, 30 ");
$result = "['Number', 'Status', 'Category', 'Pbx Number', 'Price for today'],";
$sql->execute();
$sql->bind_result($id, $number, $status, $category, $pbx);
while ($sql->fetch()) {
$result .= " ['$number', '$status', '$category', '$pbx'," . priceForRoom($mysqli, $number, time()) . "],";
}
$sql->free_result();
return ($result);
priceForRoom()
値を返すために mysqli db に接続する必要がない限り、すべて正常に動作します。しかし、priceForRoom()
mysqli を実装して使用するとすぐに、次のエラーが発生します。
Commands out of sync; you can't run this command now
非常に多くの人が同じエラーに遭遇しましたが、どうすればこれを修正できるのかまだわかりません。結果を配列に保存したくないのですが、mysqli_store_result
プロシージャル スタイルにせずに使用するにはどうすればよいですか? コードをオブジェクト指向のままにしたいのですが、mysqli に結果をどこに保存するように依頼すればよいでしょうか?