Salut,

Je passe de mysql_ à pdo et j'aimerais pouvoir afficher une erreur lorsqu'une requête ne passe pas et aussi afficher cette requête...
Alors j'ai vu l'utilisation du try/catch() mais je vois également dans la doc :
- PDO::errorInfo() - Retourne les informations associées à l'erreur lors de la dernière opération sur la base de données
- PDOStatement::errorCode() - Récupère le SQLSTATE associé lors de la dernière opération sur la requête
- PDOStatement::errorInfo() - Récupère les informations sur l'erreur associée lors de la dernière opération sur la requête

Cependant je n'arrive pas à utiliser ces méthodes...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
$c = new PDO(...);
$result = $c->prepare('SELECT * FROM mauvaisetable');
$result->execute();
if (!$result)
{
   echo "\nPDO::errorInfo():\n";
   print_r($c->errorInfo());
}
cela ne me retourne rien de particulier malgré l'erreur volontaire sur le nom de la table...pourtant c'est dans la doc..ou c'est moi qui l'utilise mal ?

- J'aimerais savoir si je peux afficher une erreur sql lisiblement sans try/catch() ? (un peu à la manière d'un mysql_error())
- J'aimerais savoir si je peux afficher ma requête (bonne ou mauvaise) après exécution afin de la relire...

Merci pour votre aide