PHP Conference Japan 2024

pg_send_query_params

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

pg_send_query_params將命令和個別參數提交到伺服器,而不等待結果

說明

pg_send_query_params(PgSql\Connection $connection, string $query, array $params): int|bool

提交一個命令和獨立的參數到伺服器,而不等待結果。

這個函式等同於 pg_send_query(),差別在於查詢參數可以與 query 字串分開指定。此函式的參數處理方式與 pg_query_params() 相同。如同 pg_query_params(),它不適用於 7.4 之前的 PostgreSQL 連線,且查詢字串中只允許單個命令。

參數

connection

一個 PgSql\Connection 實例。

query

參數化的 SQL 陳述式。必須只包含單個陳述式。(不允許以分號分隔的多個陳述式。)如果使用任何參數,則它們會被稱為 $1、$2 等。

params

一個參數值的陣列,用於替換原始預備查詢字串中的 $1、$2 等佔位符。陣列中的元素數量必須與佔位符的數量相符。

返回值

成功時返回 true,失敗時返回 false0。使用 pg_get_result() 來確定查詢結果。

更新日誌

版本 說明
8.1.0 connection 參數現在需要一個 PgSql\Connection 實例;以前需要的是一個 資源

範例

範例 #1 使用 pg_send_query_params()

<?php
$dbconn
= pg_connect("dbname=publisher") or die("無法連線");

// 使用參數。請注意,不需要將參數加上引號或跳脫字元。
pg_send_query_params($dbconn, 'select count(*) from authors where city = $1', array('Perth'));

// 與基本 pg_send_query 用法比較
$str = pg_escape_string('Perth');
pg_send_query($dbconn, "select count(*) from authors where city = '{$str}'");
?>

參見

新增註釋

使用者貢獻的註釋

此頁面沒有使用者貢獻的註釋。
To Top