PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8
pg_query - Execute a query
Code Examples

pg_query( [PgSql\Connection$connection], string$query ): PgSql\Result|false

pg_query executes the query on the specified database connection. pg_query_params should be preferred in most cases.

If an error occurs, and false is returned, details of the error can be retrieved using the pg_last_error function if the connection is valid.


Although connection can be omitted, it is not recommended, since it can be the cause of hard to find bugs in scripts.


This function used to be called pg_exec. pg_exec is still available for compatibility reasons, but users are encouraged to use the newer name.



An PgSql\Connection instance. When connection is unspecified, the default connection is used. The default connection is the last connection made by pg_connect or pg_pconnect.


As of PHP 8.1.0, using the default connection is deprecated.


The SQL statement or statements to be executed. When multiple statements are passed to the function, they are automatically executed as one transaction, unless there are explicit BEGIN/COMMIT commands included in the query string. However, using multiple transactions in one function call is not recommended.


String interpolation of user-supplied data is extremely dangerous and is likely to lead to SQL injection vulnerabilities. In most cases pg_query_params should be preferred, passing user-supplied values as parameters rather than substituting them into the query string.

Any user-supplied data substituted directly into a query string should be properly escaped.

Return Values

An PgSql\Result instance on success, or false on failure.


Version Description
8.1.0 Returns an PgSql\Result instance now; previously, a resource was returned.
8.1.0 The connection parameter expects an PgSql\Connection instance now; previously, a resource was expected.

Related Functions

Example of pg_query

Show all examples for pg_query

PHP Version:

Function pg_query:

PostgreSQL Functions

Most used PHP functions