sql >> Databasteknik >  >> RDS >> Mysql

$stmt->close() vs $stmt->free_result()

$stmt->free_result() frigör minne relaterat till en resultatuppsättning, medan $stmt->close() frigör minne relaterat till ett förberett uttalande. Anropar sedan $stmt->close() kommer att avbryta alla resultat som fortfarande finns kvar.

I huvudsak anropar $stmt->close() ger samma effekt som att anropa $stmt->free_result() eftersom det avbryter resultatuppsättningen också. Men anropar $stmt->free_result() kommer inte att rensa ut minnet som används av den förberedda satsen i vilket fall du måste använda $stmt->close() .

När det gäller vilken du ska använda gäller - det kan finnas situationer där du tänker använda det förberedda uttalandet du har initierat, men inte längre är i behov av den resultatuppsättning du har för närvarande. I ett sådant fall skulle du vänta med att anropa $stmt->close() tills du är klar med det förberedda uttalandet och istället ringer $stmt->free_result() innan du kör en annan sats.



  1. Åtgärda "FEL:  varje UTOM fråga måste ha samma antal kolumner" i PostgreSQL

  2. MySQL - Hur ökar man varchar-storleken på en befintlig kolumn i en databas utan att bryta befintliga data?

  3. Hur man uppnår PCI-kompatibilitet för MySQL &MariaDB med ClusterControl - The Replay

  4. Hur synkroniserar man Mysql till Bigquery i realtid?