diff options
Diffstat (limited to 'ext/pgsql/pgsql.c')
| -rw-r--r-- | ext/pgsql/pgsql.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/ext/pgsql/pgsql.c b/ext/pgsql/pgsql.c index 30dceb3f2c..fe802a28de 100644 --- a/ext/pgsql/pgsql.c +++ b/ext/pgsql/pgsql.c @@ -829,6 +829,9 @@ PHP_FUNCTION(pg_query) ZEND_FETCH_RESOURCE2(pgsql, PGconn *, pgsql_link, id, "PostgreSQL link", le_link, le_plink); + if (PQstatus(pgsql) != CONNECTION_OK) { + PQreset(pgsql); + } convert_to_string_ex(query); PQsetnonblocking(pgsql, 0); while ((pgsql_result = PQgetResult(pgsql))) { @@ -2510,6 +2513,9 @@ PHP_FUNCTION(pg_send_query) ZEND_FETCH_RESOURCE2(pgsql, PGconn *, &pgsql_link, id, "PostgreSQL link", le_link, le_plink); + if (PQstatus(pgsql) != CONNECTION_OK) { + PQreset(pgsql); + } if (PQsetnonblocking(pgsql, 1)) { php_error(E_NOTICE,"%s() cannot set connection to nonblocking mode", get_active_function_name(TSRMLS_C)); |
