(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)
pg_query — Execute a query
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.
connection
Примірник
PgSql\Connection. Якщо параметр
connection
не визначено, то виконується стандартне
з'єднання, тобто останнє, виконане функцією pg_connect()
або pg_pconnect().
Починаючи з PHP 8.1.0, використання стандартного з'єднання є застарілим.
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.
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.
An PgSql\Result instance on success, або false
в разі помилки.
Версія | Опис |
---|---|
8.1.0 | Тепер повертається примірник PgSql\Result. Раніше повертався resource. |
8.1.0 |
Тепер параметр connection має бути примірником
PgSql\Connection. Раніше очікувався resource.
|
Приклад #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";
}
?>
Приклад #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);
?>