sql >> Databasteknik >  >> RDS >> Mysql

PDO misslyckas med för många poster, buffrade frågor

När du använder en obuffrad fråga betyder det att din resultatuppsättning strömmas in från MySQL-servern. Så anslutningen som den (obuffrade) frågan körs på är upptagen tills du läser den sista raden i frågan. I ditt fall är anslutningen $MysqlConn .

(En buffrad fråga slurpar in hela resultatuppsättningen i ditt php-programs RAM och frigör anslutningen. Du använder obuffrade frågor när hela din resultatuppsättning inte får plats i RAM).

Obuffrade frågor bör stängas explicit när du är klar med dem. Så lägg till en closeCursor() ring . Så här.

while ($row = $ordStat->fetch(PDO::FETCH_ASSOC)) {
    $order_ids[] = $row['order_id'];
}
$ordStat->closeCursor();

Det skadar inte heller att stänga buffrade frågor. Det är en god vana.




  1. Oracle:finns det någon logisk anledning att inte använda parallell exekvering med subqueries i SELECT-listan?

  2. Lägger till databasresultat till array

  3. Använda kolumnalias i fältet Sales Order Grid

  4. Subtrahera månader från ett datum i PostgreSQL