PDO et query exécuté
Posté : 13 avr. 2010, 15:17
Bonjour à tous,
Cela fait un moment que j'utilise PDO que je couple avec un mode DEBUG afin d'afficher toutes les requêtes exécuté dans un script, tout fonctionne bien sauf le principal à savoir comment récupérer la query généré par PDO avec les paramètres.
Avez-vous déjà fait ça?
Une idée?
Ci-dessous, la surcharge PDO que j'utilie pour sqlserver:
Cela fait un moment que j'utilise PDO que je couple avec un mode DEBUG afin d'afficher toutes les requêtes exécuté dans un script, tout fonctionne bien sauf le principal à savoir comment récupérer la query généré par PDO avec les paramètres.
Avez-vous déjà fait ça?
Une idée?
Ci-dessous, la surcharge PDO que j'utilie pour sqlserver:
class mssqlPDO extends PDO {
/*
public function __autoload() { }
public function __construct() { }
public function __destruct() { }
public function __clone() { }
public function __call($method, $arguments) { }
public function __set($nom, $valeur) { }
public function __get($nom) { }
*/
//redefine method for sqlserver
public function lastInsertId($name = '') {
$sql_scope = "select CONVERT(INT, SCOPE_IDENTITY()) as lastInsertId";
$stmt_scope = parent::prepare($sql_scope);
//exec sql
if($stmt_scope->execute()) {
return $stmt_scope->fetch(PDO::FETCH_OBJ)->lastInsertId;
}
return false;
}
//log des query prepare
public function prepare($sql, $driver_options = array()) {
global $GROUPES_LIBELLE;
if(DEBUG) {
echo "<div style=\"background-color:#5298d4; color:#FFFFFF; margin:10px; padding:5px\"><strong>DEBUG:</strong><hr>$sql</div>";
}
return parent::prepare($sql, $driver_options = array());
}
}
Et le code HTML généré lors d'un simple SELECT:SELECT id, nom, prenom, email FROM [user] WHERE id = :id;
Concrètement, j'aimerais affiché:SELECT id, nom, prenom, email FROM [user] WHERE id = 845; //par exemple