Question

Comment puis-je obtenir une description détaillée de l'erreur au cours de php-mysql script de s'exécuter?

J'ai les instructions suivantes où le script échoue et affiche le message d'erreur personnalisé - le contenu de la "or die".

Je veux obtenir de l'erreur de MySQL (à la place de la coutume d'erreur que j'ai cités), ce qui donnerait une meilleure idée sur le scénario - que ce soit un problème de base de données ou un serveur de problème de connectivité, etc..

c'est le code que j'ai où j'ai besoin d'améliorer le rapport d'erreur

$query = "SELECT * FROM table_name";
$result = mysqli_query($db_conn, $query) 
  or die('Connected to database, but querying failed');

merci!

Était-ce utile?

La solution

Jetez un oeil à la page de manuel de mysqli_error.Dans la section "style Procédural", vous trouverez un exemple complet qui montre comment configurer la connexion de base de données et l'interrogation de la base de données, les deux étapes avec la gestion des erreurs.

Si vous voulez des informations détaillées sur l'erreur de vos scripts, vous pouvez mettre les lignes

error_reporting( E_ALL );
ini_set('log_errors', true);
ini_set('error_log', '/tmp/php-errors.log');

au début de votre code.De cette façon, toutes les erreurs provenant de PHP sera écrit dans le fichier journal.Assurez-vous que le chemin d'accès au fichier journal existant (/tmp n'est qu'un exemple) et est accessible en écriture par le serveur web, sinon les erreurs seront ignorés.

Comme une note de côté:Alors que le "or die()"modèle est bon pour les petits exemples, vous ne devriez pas l'utiliser dans le code de production.

Autres conseils

Vérifiez MySQL_Error fonction.

Je préfère utiliser PDO et avoir PDO lancer une exception.

Vous pouvez insérer la requête dans la page de requête sur phpmyadmin, si vous l'utilisez.Mais cela ne vous dira pas si les erreurs sont avec les variables

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top