函式名稱:pg_send_query_params()
適用版本:PHP 5 >= 5.1.0, PHP 7, PHP 8
函式描述:pg_send_query_params() 函式向 PostgreSQL 資料庫傳送一個非同步查詢請求,並帶有引數。
用法:
bool pg_send_query_params ( resource $connection , string $query , array $params )
引數:
- connection:一個 PostgreSQL 連線資源。
- query:要執行的查詢語句,可以包含佔位符。
- params:一個陣列,包含查詢語句中佔位符的值。
返回值: 如果查詢請求成功傳送,則返回 true。如果請求傳送失敗,則返回 false。
示例: 假設我們有一個名為 "customers" 的表格,包含 "id"、"name" 和 "age" 欄位。我們想要向表格中插入一條新的記錄,可以使用 pg_send_query_params() 函式。
// 建立資料庫連線
$conn = pg_connect("host=localhost dbname=mydb user=myuser password=mypassword");
// 準備查詢語句
$query = "INSERT INTO customers (name, age) VALUES ($1, $2)";
// 準備引數
$params = array("John Doe", 25);
// 傳送非同步查詢請求
pg_send_query_params($conn, $query, $params);
// 檢查查詢請求是否傳送成功
if (pg_connection_busy($conn)) {
echo "Query sent successfully.";
} else {
echo "Failed to send query.";
}
// 處理查詢結果
$result = pg_get_result($conn);
if ($result) {
echo "Query executed successfully.";
} else {
echo "Failed to execute query.";
}
// 關閉資料庫連線
pg_close($conn);
在上面的示例中,我們首先建立了一個到 PostgreSQL 資料庫的連線。然後,我們準備了一個插入語句和引數。接下來,我們使用 pg_send_query_params() 函式傳送非同步查詢請求。我們可以使用 pg_connection_busy() 函式檢查查詢請求是否成功傳送。最後,我們使用 pg_get_result() 函式獲取查詢結果,並根據結果進行相應的處理。最後,我們關閉資料庫連線。
請注意,pg_send_query_params() 函式只是傳送了一個非同步查詢請求,不會阻塞指令碼的執行。要等待查詢執行完成並獲取結果,可以使用 pg_get_result() 函式。