Description
PgSql\Resultfalse pg_query(PgSql\Connection $connection
= ?, string $query
)
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
-
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.
WarningAs of PHP 8.1.0, using the default connection is deprecated.
-
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.
Warning
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.
Examples
Example #1 pg_query example
<?php
$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
echo "An error occurred.\n";
exit;
}
$result = pg_query($conn, "SELECT author, email FROM authors");
if (!$result) {
echo "An error occurred.\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