2024 日本 PHP 研討會

pg_send_execute

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

pg_send_execute發送請求以執行具有給定參數的預備語句,無需等待結果

說明

pg_send_execute(PgSql\Connection $connection, 字串 $statement_name, 陣列 $params): 整數|布林值

發送一個請求,使用給定的參數執行一個已準備好的語句,但不等待結果。

這類似於 pg_send_query_params(),但要執行的命令是通過命名先前準備好的語句來指定的,而不是給出查詢字串。此函數的參數處理方式與 pg_execute() 相同。 與 pg_execute() 一樣,它不適用於 7.4 以前的 PostgreSQL 版本。

參數

connection

一個 PgSql\Connection 實例。

statement_name

要執行的已準備語句的名稱。如果指定為 "",則執行未命名的語句。該名稱必須先前已使用 pg_prepare()pg_send_prepare() 或 SQL 命令 PREPARE 準備好。

params

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

返回值

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

更新日誌

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

範例

範例 #1 使用 pg_send_execute()

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

// 準備一個查詢以供執行
if (!pg_connection_busy($dbconn)) {
pg_send_prepare($dbconn, "my_query", 'SELECT * FROM shops WHERE name = $1');
$res1 = pg_get_result($dbconn);
}

// 執行準備好的查詢。請注意,不需要以任何方式跳脫
// 字串 "Joe's Widgets"
if (!pg_connection_busy($dbconn)) {
pg_send_execute($dbconn, "my_query", array("Joe's Widgets"));
$res2 = pg_get_result($dbconn);
}

// 執行相同的準備好的查詢,這次使用不同的參數
if (!pg_connection_busy($dbconn)) {
pg_send_execute($dbconn, "my_query", array("Clothes Clothes Clothes"));
$res3 = pg_get_result($dbconn);
}

?>

另請參閱

  • pg_prepare() - 向伺服器提交請求,以使用給定的參數創建一個準備好的語句,並等待完成
  • pg_send_prepare() - 發送請求以使用給定的參數創建一個準備好的語句,無需等待完成
  • pg_execute() - 發送請求以使用給定的參數執行準備好的語句,並等待結果

新增註釋

使用者提供的註釋

此頁面沒有使用者提供的註釋。
To Top