PHP et Postgresql: la capture des erreurs?
Comment dois-je préparer le code si quelque chose tombe en panne? Avec l'instruction try-catch ou?
function delete_question ( $question_id ) {
$dbconn = pg_connect("host=localhost port=5432 dbname=heoa user=heoa password=123");
//removes questions and its dependencies: answers and tags
$result = pg_query_params ( $dbconn,
'DELETE FROM questions
WHERE question_id = $1',
array ( $question_id )
);
OriginalL'auteur hhh | 2009-09-03
Vous devez vous connecter pour publier un commentaire.
Si vous voulez des exceptions, alors vous avez besoin d'utiliser PDO.
en cas de pg_* fonctions et de votre code, vous devez vérifier si $résultat a la valeur false, si c'est le cas, une erreur s'est produite.
Vous pouvez obtenir la description de l'erreur avec pg_last_error()
Quelque chose comme ceci:
Donc, en gros, à chaque fois que vous utilisez un pg_* fonction, vous devez vérifier si false est retourné, c'est juste la façon dont il est avec ces fonctions.
Oui, vous pouvez construire votre propre wrappers ainsi, au lieu de pg_query* vous appelez my_db_query(), qui fait ensuite la valeur de retour de la vérification et de l'exception lancer.
Ou, vous pourriez aller avec PDO, qui est en mesure de vous jeter PDOException pour toutes les erreurs qui peuvent occour.
Plus sur la fonction: us.php.net/manual/en/function.pg-last-error.php
Vous pouvez toujours placer vos propres exceptions autour de la pg_* les fonctions.
comme? pastebin.com/m3feb612b
Vous n'avez pas vraiment besoin de le 'else' dans le si-sinon, depuis la levée d'une exception permettra de vous sortir de la fonction.
OriginalL'auteur Anti Veeranna
J'ai une autre pratique
OriginalL'auteur Ann