首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

pg_query

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

pg_query - 执行查询

描述

代码语言:javascript
复制
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

代码语言:javascript
复制
<?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

代码语言:javascript
复制
<?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);

?>

扫码关注腾讯云开发者

领取腾讯云代金券