Oznámení
Omlouváme se, provoz fóra byl ukončen
Postgres driver a kódy databázových chyb
Upozornění: Tohle vlákno je hodně staré.
před 10 lety
- Jur4
- Člen | 51
Dobrý den,
dělám s PostrgeSQL databází a narazil jsem na jednu věc. V případě chyby při vykonávání dotazu, není do výjimky uložen kód chyby, která nastala. Nejde proto nějak rozumně rozlišit co to je za chybu.
Zkusil jsem postgres driver upravit a tady posílám funkční kód.
<?php
public function query($sql)
{
pg_send_query($this->connection, $sql);
$this->resultSet = pg_get_result($this->connection);
$code = pg_result_error_field($this->resultSet, PGSQL_DIAG_SQLSTATE);
if ($code) {
throw new DibiDriverException(pg_last_error($this->connection), $code, $sql);
}
return is_resource($this->resultSet) && pg_num_fields($this->resultSet) ? clone $this : NULL;
}
?>
Jen nevím jestli neexistují nějaké důvody proč podobný kód není použit.