Jika Anda menginginkan pengecualian, maka Anda perlu menggunakan PDO.
dalam hal fungsi pg_* dan kode Anda, Anda perlu memeriksa apakah $result memiliki nilai false, jika ya, maka terjadi kesalahan.
Anda bisa mendapatkan deskripsi kesalahan dengan pg_last_error()
Sesuatu seperti ini:
$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';
}
Jadi, pada dasarnya, setiap kali Anda menggunakan fungsi pg_*, Anda perlu memeriksa apakah false dikembalikan, begitulah dengan fungsi-fungsi tersebut.
Ya, Anda dapat membuat pembungkus sendiri, jadi alih-alih pg_query* Anda memanggil my_db_query(), yang kemudian melakukan pemeriksaan nilai kembali dan pelemparan pengecualian.
Atau, Anda dapat menggunakan PDO, yang dapat memberikan Anda PDOException untuk semua kesalahan yang dapat terjadi.