2010-12-05 11 views
4

Je travaille avec PDO en PHP.PDO: gestion des erreurs

Maintenant, je me demande si vous pourriez attraper une erreur globale et montrer.

Avec mondiale, je veux dire que si une $sql=$connect->prepare() échoue, l'écho sur

"Something went wrong:" . the_error

Ou auriez-vous besoin de faire toujours chaque sql individuellement au moyen d'$?

+0

Vous pouvez étendre PDO pour obtenir le comportement souhaité. – mpen

Répondre

2

Vous pouvez toujours intercepter les exceptions renvoyées par la classe PDO.

try 
{ 
    ...new PDO('odbc:SAMPLE', 'db2inst1',... 
} 
catch(PDOException $exception) 
{ 
    echo "Failed: " . $exception->getMessage(); 
} 
+0

Je ne pense pas que l'objet PDO lève une exception dans tous les cas d'erreur. Au moins ce n'est pas comme ça dans le code suivant (pas de paramètres fournis): '$ sql =" SELECT * FROM 'user' O WH' username' =: nom d'utilisateur ET 'password' =: mot de passe"; $ statement = $ pdo-> prepare ($ sql); $ instruction-> execute(); ' – ehsun7b