12
votes

Y a-t-il un moyen d'imprimer la requête réelle que MySqli-> exécuter () fait ()?

J'ai une requête complexe qui est exécutée comme ceci: xxx

Cette chose échoue sans erreur, cela ne met tout simplement pas à jour la base de données. Comme il y a une tonne de données qui sont traitées avant cette chose, je voudrais savoir s'il y a un moyen de montrer la requête réelle que MySQLI s'exécutent afin de comprendre où se trouve le problème.

Merci .


1 commentaires

Ne semble pas être possible. Dupe: Stackoverflow.com/questions / 962986 / ...


4 Réponses :


9
votes

Si votre relevé échoue, vous devez vérifier $ stmt-> erreur (par opposition à $ dbi-> erreur ). En ce qui concerne le texte actuel de la requête: ce n'est pas possible. Lors de l'utilisation de déclarations préparées, la bibliothèque utilise un protocole spécial qui ne génère pas une chaîne de requête réelle pour chaque -> exécuteur () appel.


1 commentaires

Merci, jamais connu à ce sujet. $ stmt-> une erreur m'a eu dans la bonne direction.



0
votes

basé sur le Site Web PHP MySQL Il n'y a pas de moyen de faire il. Mais vous pouvez essayer Cette fonction car elle vous donne des erreurs dans votre requête .


0 commentaires

5
votes

Vous pouvez activer la journalisation sur la MySQL DB elle-même, c'est-à-dire. Ajouter un journal = logfile ligne à my.ini.

Reportez-vous au documentation MySQL pour plus d'informations si nécessaire.


0 commentaires

0
votes