Wanneer u een niet-gebufferde query gebruikt, betekent dit dat uw resultatenset wordt gestreamd vanaf de MySQL-server. Dus de verbinding waarop de (ongebufferde) query wordt uitgevoerd, is bezet totdat u de laatste rij van de query leest. In jouw geval is de verbinding $MysqlConn
.
(Een gebufferde zoekopdracht slurpt de volledige resultatenset in het RAM-geheugen van uw php-programma en maakt de verbinding vrij. U gebruikt niet-gebufferde zoekopdrachten wanneer uw hele resultatenset niet in het RAM past).
Niet-gebufferde query's moeten expliciet worden gesloten als u klaar bent met hen. Dus voeg een closeCursor()
toe bel
. Vind dit leuk.
while ($row = $ordStat->fetch(PDO::FETCH_ASSOC)) {
$order_ids[] = $row['order_id'];
}
$ordStat->closeCursor();
Het kan ook geen kwaad om gebufferde query's te sluiten. Het is een goede gewoonte.