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

Come fare in modo che mysqli generi eccezioni usando MYSQLI_REPORT_STRICT?

Dopo alcune ricerche ho finalmente appreso che il parametro della funzione è una maschera di bit e che è necessario combinare diversi valori per ottenere il risultato desiderato. La combinazione finale non è eccessivamente logica, ma funziona come previsto, generando un'eccezione su un errore di query ignorando gli avvisi.

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

produrrà il risultato desiderato:

Errore irreversibile:eccezione non rilevata 'mysqli_sql_exception' con messaggio 'Si è verificato un errore nella sintassi SQL; controlla il manuale che corrisponde alla versione del tuo server MySQL per la sintassi corretta da usare vicino a 'foo' alla riga 1'