我正在使用 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 在哪里存储结果?