Pour réduire la taille de mon journal d'erreur dans MySQL, je veux être en mesure de stocker les codes d'erreur MySQL (1054) et pas les messages ("ER_BAD_FIELD_ERROR"). Mais que puis-je utiliser pour passer du code d'erreur seul au message d'erreur?Obtenir message d'erreur MySQL à partir du code d'erreur seulement
Normalement, vous obtenez à la fois avec:
<?PHP
$db_link = new mysqli($hostname, $username, $password, $database);
$statement = $db_link->prepare('SELECT SomeFieldThatDoesNotExist FROM Person');
$statement->execute();
if(!$statement) {
$specific_error = $db_link->error;
$error_number = $db_link->errno;
}
?>
Imaginez que j'ai erreur 1054 (voir: https://dev.mysql.com/doc/refman/5.5/en/error-messages-server.html#error_er_bad_field_error).
Avec juste le nombre 1052, que puis-je utiliser pour obtenir le vrai message d'erreur MySQL lui-même?
Il y a plusieurs façons ... Vous pouvez exécuter 'perror $ {}' errno et capturer sa sortie (doit être installé avec le serveur MySQL par défaut, IIRC), ou vous pouvez lire/analyser les fichiers sources MySQL ... cela dépend de ce que vous essayez vraiment d'accomplir. –