-1

次のように 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 に結果をどこに保存するように依頼すればよいでしょうか?

4

1 に答える 1