Okazało się jednak, że bardzo szybko natrafiłem na problem, ktorego nie umiem w mądry sposób rozwiazać.
Chodzi o kody błędów, zwracane tylko przez funkcję pg_result_error_field" title="Zobacz w manualu PHP" target="_manual ()
Aby jednak móc z niej korzystać, konieczne jest otrzymanie resource z wynikiem zapytania, a takiego, w przypadku błędu w zapytaniu, funkcja pg_query" title="Zobacz w manualu PHP" target="_manual () nie zwraca (zamiast tego dając FALSE).
Zamiast niej manual online poleca pg_send_query" title="Zobacz w manualu PHP" target="_manual () (która zawsze zwraca true) a potem wyciągnąć resource przy pomocy pg_get_result" title="Zobacz w manualu PHP" target="_manual ()
No i OK - pg_get_result zawsze zwraca resource, teraz jednak jak mam sprawdzić, czy zapytanie się wykonało? Trochę dziwne wydaje mi się każdorazowe wyciąganie od bazy kodu błędu ( pg_result_error_field" title="Zobacz w manualu PHP" target="_manual () ) i sprawdzanie, czy jakiś błąd się pojawił.
Ale innego sposobu narazie nie udało mi się znaleść. Może w wiecie?
przykład w działaniu: (PHP5, pg8 )
<?php $bQuerySend = pg_send_query( $this->rConection, 'INSERT INTO NieIstniejacaTablea (name) values (test)' ); var_dum( $bQuerySend ); var_dum( $rResult ); var_dum( $w ); ?>