Mysql
 sql >> Database >  >> RDS >> Mysql

Errori non di oggetto utilizzando PHP PDO con MySQL

Non hai bisogno di un paio di occhi nuovi

Non sei un pittore ma un programmatore (presumibilmente).
Quindi, invece di guardare il tuo codice devi eseguire esso. E abilita la segnalazione degli errori.

Oh, l'ho appena notato
E, naturalmente, non dovresti imbavagliare i messaggi di errore!

} catch(PDOException $ex) {
    return false;
}

una versione moderna dell'operatore @.
Sbarazzati di TUTTI i try..catch blocchi nel tuo codice e inizia a usarli solo dopo appreso a cosa servono.

Quindi, per risolvere questo stesso problema e molti altri problemi in futuro

  1. Sbarazzati di tutti i blocchi try..catch nel tuo codice.
  2. Abilita la segnalazione degli errori per PDO come descritto nel tag wiki a cui mi sono collegato nei commenti.
  3. Non utilizzare segnaposto per gli identificatori ma formattali come descritto nel tag wiki a cui mi sono collegato
  4. Disattiva display_errors impostazione se non vuoi che gli errori vengano visualizzati (l'unico motivo per sopprimere i messaggi di errore mi viene in mente).

Inoltre, non dovresti aprire una connessione separata in ogni chiamata di funzione.
Crea una connessione all'inizio del tuo script e poi usa se nella funzione, usando

global $h;