sql >> Databáze >  >> RDS >> PostgreSQL

PHP a Postgres:chytání chyb?

Pokud chcete výjimky, musíte použít PDO.

v případě funkcí pg_* a vašeho kódu musíte zkontrolovat, zda má $result hodnotu false, pokud ano, došlo k chybě.

Popis chyby můžete získat pomocí pg_last_error()

Něco jako toto:

$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';
}

Takže v podstatě pokaždé, když použijete funkci pg_*, musíte zkontrolovat, zda nebyla vrácena hodnota false, tak to s těmito funkcemi prostě je.

Ano, můžete si vytvořit své vlastní obaly, takže místo pg_query* zavoláte my_db_query(), které pak zkontroluje návratovou hodnotu a vyvolá výjimky.

Nebo můžete použít PDO, které je schopné vyvolat výjimku PDO pro všechny chyby, které se mohou vyskytnout.



  1. Ansible miluje PostgreSQL

  2. Práce s daty ODBC v DbVisualizer

  3. Postgres UNIQUE CONSTRAINT pro pole

  4. Optimalizace SELECT dotazu, který běží pomalu na Oracle, který běží rychle na SQL Server