Errori PDO: HY093 analizziamo come risolverlo

Continua la nostra rubrica appunti digitali, oggi vediamo come risolvere (e da cosa è causato) l’errore HY093 di PDO in pochi semplici passi.

L’errore si presenta il più delle volte con questa forma: PDOStatement::errorInfo(): Array ( [0] => HY093 [1] => [2] => ).

Il codice di errore HY093 viene generato quando viene bindata una variabile inesistente, non dichiarata, o comunque incorretta.

Ecco un esempio pratico:

$query = $this->PDO->prepare('INSERT INTO nazioni (id_nazione, descrizione_nazione) VALUES ( :id_nazione, :nazione_descrizione)');
$query->bindValue( ':id_nazione',  1);
$query->bindValue( ':descrizione_nazione', 'W targetweb');

Come potete vedere “nazione_descrizione” viene passato alla query ma in realtà avete bindato erroneamente “descrizione_nazione” nei bindValue, questo genera l’errore.

Come visualizzare un report degli errori nelle query con PDO

Ricordo che per visualizzare gli errori PDO dovete usare la seguente sintassi subito dopo l’execute della query:

echo "\nPDOStatement::errorInfo():\n";
$arr = $q->errorInfo();
print_r($arr);

Se volete maggiori info per la gestione degli errori PDO vi invito a consultare la reference guide ufficiale. 

Se non sai cosa sia PDO ti invito a leggere la nostra area tematica dedicata!

L’articolo ti è stato utile? condividilo qui sotto con i tuoi amici/colleghi!

0 0 voti
Valutazione dell'articolo
Iscriviti
Notificami
guest

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.

0 Commenti
Vecchi
Più recenti Le più votate
Feedback in linea
Visualizza tutti i commenti
Rimani Aggiornato
Nuove idee, zero Spam
Ti invieremo solo le ultime novità di articoli o nostri progetti.
Iscrivendoti accetti la nostra privacy poliicy. Una volta iscritto, ricordati di attivare l'iscrizione cliccando sul link ricevuto via mail.
0
Esprimete la vostra opinione commentando.x