sql >> Databasteknik >  >> RDS >> PostgreSQL

PHP och Postgres:fångar fel?

Om du vill ha undantag måste du använda PDO.

i fallet med pg_*-funktioner och din kod måste du kontrollera om $result har värdet false, om det gör det, uppstod ett fel.

Du kan få felbeskrivningen med pg_last_error()

Något så här:

$result = pg_query_params ( $dbconn,
        'DELETE FROM questions
        WHERE question_id = $1',
        array ( $question_id )
    );


if ($result === false) {
    print pg_last_error($dbconn);
} else {
    print 'everything was ok';
}

Så, i princip, varje gång du använder en pg_*-funktion måste du kontrollera om false returnerades, det är precis så det är med dessa funktioner.

Ja, du kan bygga dina egna wrappers, så istället för pg_query* anropar du my_db_query(), som sedan kontrollerar returvärdet och slänger undantag.

Eller så kan du använda PDO, som kan ge dig PDOUndantag för alla fel som kan uppstå.



  1. SQL-frågeoptimering — Hur man avgör när och om det behövs

  2. Kopiera data till en annan tabell

  3. SQLite Byt namn på kolumn

  4. Alternativ till Intersect i MySQL