(24-01-2011, 01:43 PM)sawk a écrit : Ensuite, le problème est presque résolu (pressque ?) oui car le soucis c'est que je fait un INSERT ou UN DUPLICATE KEY UPDATE selon si l'objet existe déjà dans le sac...Pas d'erreur mais errorInfo est invoquée du mauvais objet (PDO vs PDOStatement) :
Le problème c'est que j'ai l'erreur suivante :
Array ( [0] => 00000 [1] => [2] => ) 1
(je ne sais pas ce qu'elle représente pour PDO)
Citation :PDO::errorInfo() retourne uniquement les informations des erreurs pour les opérations exécutées directement sur un gestionnaire de base de données. Si vous créez un objet PDOStatement avec la fonction PDO::prepare() ou la fonction PDO::query() et que vous invoquez une erreur sur le gestionnaire de requête, PDO::errorInfo() ne retournera pas l'erreur depuis le gestionnaire de requête. Vous devez appeler la fonction PDOStatement::errorInfo() pour retourner les informations sur l'erreur pour une opération exécutée sur un gestionnaire de requête particulier.C'est donc or die(print_r($query->errorInfo(), TRUE));
Et TRUE au passage en second paramètre de print_r, pour que print_r renvoie une chaîne au lieu de l'afficher directement (et de renvoyer TRUE affiché ensuite comme '1' par die - celui qui traîne après l'affichage de l'array).
Au moins cette question ne se pose plus avec le mode d'erreur basé sur les exceptions.