Gestion des erreurs et des messages

Il est impératif, quand vous supprimez les avertissements, de gérer vous-même les erreurs qui peuvent survenir.

Dans le cas d'accès à une base PostgreSQL il existe un certain nombre de fonctionnalités pour cela.

Résultat renvoyé par pg_query en cas d'échec

« pg_query » retourne FALSE en cas d'échec (c'est-à-dire quand aucun résultat réel ne peut exister).

On peut ainsi traiter l'échec éventuel de la requête :

                if ( $r=@pg_query($c,$req) ) {
                    // traitement cas de succès
                    . . . 
                } else {
                    // traitement cas d'échec
                    . . . 
                }

Obtenir le texte de la dernière erreur

La fonction « pg_last_error » renvoie un éventuel message d'erreur correspondant à la dernière exécution d'une requête.

Obtenir le statut de la connexion

On peut connaître l'état de la connexion en utilisant la fonction « pg_result_status ». Les valeurs retournées possibles sont :

  • PGSQL_EMPTY_QUERY (0)

  • PGSQL_COMMAND_OK (1)

  • PGSQL_TUPLES_OK (2)

  • PGSQL_COPY_TO (3)

  • PGSQL_COPY_FROM (4)

  • PGSQL_BAD_RESPONSE (5)

  • PGSQL_NONFATAL_ERROR (6)

  • PGSQL_FATAL_ERROR (7)

Obtenir le nombre de lignes affectées par une requête

« pg_affected_rows » retourne le nombre de lignes affectées par les requêtes de type INSERT, UPDATE, et DELETE, exécutées par la fonction pg_query.

Si aucune ligne n'a été affectée, pg_affected_rows retourne 0.