# pg_query

(PHP 4 >= 4.2.0, PHP 5)

pg_query — Execute a query

### Description

resource pg_query ( string `$query` )
resource pg_query ( resource `$connection` , string `$query` )

pg_query() executes the `query` on the specified database `connection` .

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.

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

> Note: 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.

### Parameters

`connection`

  PostgreSQL database connection resource. When `connection` is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

`query`

  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.

### Return Values

A query result resource on success, or `FALSE` on failure.

### Examples

Example#1 pg_query() example

`<?php
$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
echo "An error occured.\n";
exit;
}
$result = pg_query($conn, "SELECT author, email FROM authors");
if (!$result) {
echo "An error occured.\n";
exit;
}
while ($row = pg_fetch_row($result)) {
echo "Author: $row[0] E-mail: $row[1]";
echo "<br />\n";
}
?>`

Example#2 Using pg_query() with multiple statements

`<?php
$conn = pg_pconnect("dbname=publisher");
// these statements will be executed as one transaction
$query = "UPDATE authors SET author=UPPER(author) WHERE id=1;";
$query .= "UPDATE authors SET author=LOWER(author) WHERE id=2;";
$query .= "UPDATE authors SET author=NULL WHERE id=3;";
pg_query($conn, $query);
?>`

### See Also

- pg_connect()
- pg_pconnect()
- pg_fetch_array()
- pg_fetch_object()
- pg_num_rows()
- pg_affected_rows()