函式名稱:pg_send_execute()
適用版本:PHP 5 >= 5.6.0, PHP 7, PHP 8
函式描述:pg_send_execute()函式向PostgreSQL伺服器傳送一個非同步執行的命令。
用法: bool pg_send_execute(resource $connection, string $stmtname, array $params)
引數:
- $connection:一個有效的 PostgreSQL 連線資源。
- $stmtname:要執行的準備好的語句的名稱。
- $params:一個包含引數值的關聯陣列。陣列的鍵是引數的名稱,陣列的值是引數的值。
返回值: 如果傳送成功,則返回true,否則返回false。
示例: <?php // 建立一個 PostgreSQL 連線 $conn = pg_connect("host=localhost port=5432 dbname=test user=postgres password=123456");
// 準備一個語句 pg_prepare($conn, "my_query", 'SELECT * FROM my_table WHERE id = $1');
// 設定引數 $params = array(1);
// 傳送非同步執行的命令 pg_send_execute($conn, "my_query", $params);
// 檢查是否有結果 if (pg_connection_busy($conn)) { echo "正在執行查詢...\n";
// 等待結果返回
pg_get_result($conn);
// 獲取結果
$result = pg_get_result($conn);
// 處理結果
while ($row = pg_fetch_assoc($result)) {
echo "ID: " . $row['id'] . ", Name: " . $row['name'] . "\n";
}
} else { echo "查詢傳送失敗\n"; }
// 關閉連線 pg_close($conn); ?>
以上示例演示瞭如何使用pg_send_execute()函式向PostgreSQL伺服器傳送一個非同步執行的命令,並等待結果返回。首先,我們建立一個PostgreSQL連線,然後準備一個語句,並設定引數。接下來,我們使用pg_send_execute()函式傳送非同步執行的命令。然後,我們使用pg_connection_busy()函式檢查連線是否正在執行查詢。如果是,我們等待結果返回,並使用pg_get_result()函式獲取結果。最後,我們使用pg_fetch_assoc()函式遍歷結果集並處理每一行的資料。如果查詢傳送失敗,我們將輸出一條錯誤訊息。最後,我們關閉連線。