MySQL, PHP

Utilizzare più istruzioni SQL prepare con PHP MySQLi

Giorni fa in ufficio, durante lo sviluppo di un’applicazione di gestione, mi sono imbattuto in un errore causato dal tentativo di utilizzare più istruzioni prepare di MySQLi.
Ieri ho trovato un articolo che mi ha risolto il problema: Carson McDonald spiega quale sia la causa che genera l’errore e come è possibile utilizzare più istruzioni SQL prepare per l’esecuzione.

Carson McDonald ha scoperto l’errore quando ha cercato di eseguire una dichiarazione prepare in un ciclo su un set di risultati di un’altra istruzione preparata, dichiarata precedentemente il ciclo ma create entrambe sulla stessa connessione.

Cercando dettagli sull’errore generato nella documentazione di MySQL, emerge che il set di risultati di un’istruzione prepare eseguita devono essere scaricati completamente prima di eseguire un’altra istruzione preparata sulla stessa connessione.

Il problema può essere semplicemente risolto utilizzando l’istruzione store_result che trasferisce un set di risultati da una dichiarazione prepare.

Riporto lo stesso esempio analizzato nel suo articolo da McDonald:

il codice sopra comporterà il seguente errore:

Inserendo l’istruzione store_result risolviamo il problema:

Come è stato utile per me, spero di aver fatto cosa buona anche per voi.
Se avete utilizzato un’altra soluzione datemene notizia nei commenti.

[Fonte: IONCANNON]

You might also like

LEAVE A REPLY