Ecco un esempio che potrebbe aiutarti a nascondere il messaggio di errore per l'utente.
<?php
mysqli_report(MYSQLI_REPORT_OFF); //Turn off default messages
$mysqli = new mysqli("localhost", "user", "password", "database");
$query = "SELECT * FROM Table ";
$res = $mysqli->query($query);
if ($mysqli->error) {
try {
throw new Exception("MySQL error $mysqli->error <br> Query:<br> $query", $msqli->errno);
} catch(Exception $e ) {
// Log your error in db or just output it
// using $e->getMessage() to log the actual message;
echo nl2br($e->getTraceAsString());
}
}
?>