pg_query
pg_query
(PHP 4 >= 4.2.0, PHP 5, PHP 7)
pg_query - 执行查询
描述
resource pg_query ([ resource $connection ], string $query )
pg_query()
query
在指定的数据库上执行connection
。在大多数情况下,pg_query
_params()应该是首选。
如果发生错误并FALSE
返回错误,则可以使用pg_last_error()函数检索错误的详细信息(如果连接有效)。
注意
:虽然connection
可以省略,但不推荐使用,因为它可能是难以在脚本中找到错误的原因。
注意
:这个函数过去被称为pg_exec()
。由于兼容性原因,pg_exec()
仍然可用,但鼓励用户使用更新的名称。
参数
connection
PostgreSQL数据库连接资源。如果connection
不存在,则使用默认连接。默认连接是pg_connect()或pg_pconnect()所做的最后一个连接。
query
要执行的SQL语句或语句。当多个语句传递给函数时,它们会自动作为一个事务执行,除非查询字符串中包含明确的BEGIN / COMMIT命令。但是,不建议在一次函数调用中使用多个事务。
警告
用户提供的数据的字符串插值非常危险,很可能导致SQL注入漏洞。在大多数情况下,应首选pg_query_params(),将用户提供的值作为参数传递,而不是将它们替换为查询字符串。
任何直接替换为查询字符串的用户提供的数据都应该正确转义。
返回值
成功或FALSE
失败时的查询结果资源。
例子
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
?>