PDO Comment vérifier le SQL d'une Requête ???

Nouveau WRInaute
Bonjour,
Depuis peu je découvre la librairie PDO dans PHP. Avant je me connectais différemment à mes bases de données. En revanche, j'ai préparé de nombreux outils y compris de débogage faisant afficher les code SQL pour vérifier leur bonne écriture.
Mais avec PDO je bloque...
Voici un exemple :
Si dans mon code PHP j'écris ;
Code:
$prenom   = "Gérard";
$nom 	= "MENSOIF";
$email      = "gerard.mensoif@beaujolais.fr";
$id 		= 51;
/* Admettons Y a pas de téléphone*/
$portable = "06 07 08 09 10"; 

$sql = 'UPDATE user SET prenom=?, nom=?, email=?, telephone=?, portable=? WHERE id=? LIMIT 1;';
$sth=$dbh->prepare($sql);
$sth->execute(array($prenom,$nom,$email,$telephone,$portable,$id));

Comment vérifier le SQL 'reconstitué' résultant de l'exécution de PDO ?
Parce que là, c'est une requête toute simple, mais je m'apprête à développer des pages avec des requêtes - sous-requêtes corrélées... Si ce n'est pire.
D'avance merci.
 
Nouveau WRInaute
Merci loubet pour ce lien.
Je pensais créer aussi de fonctions un peu comme celle décrites. Mais après une première approche, en créer pour afficher le SQL de simples requêtes sera facile. Mais pour des requêtes plus complexes, cela va prendre du temps.
 
Nouveau WRInaute
Merci Romu,
debugdumpparams() détaille les paramètres envoyé à PDO pour la requête. c'est déjà une source importante lors d'un débogage. Mais n'affiche pas le code SQL reconstitué des paramètres interpolés.
C'est vrai que dans l'exemple je passe les valeurs par des '?' mais on pourrait tout aussi bien passer ces valeurs par des arguments nommés.
Ce qui dédoublerai le travail ...
 
Nouveau WRInaute
Puisque le but d'un forum est aussi d'apporter des informations à tout lecteur, le lien existe aussi en version française :
http://php.net/manual/fr/pdostatement.debugdumpparams.php
 
Discussions similaires
Haut