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.
« 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
. . .
}
La fonction « pg_last_error » renvoie un éventuel message d'erreur correspondant à la dernière exécution d'une requête.
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)
« 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.