函式名稱:pg_query_params()
適用版本:PHP 5 >= 5.1.0, PHP 7, PHP 8
函式描述:pg_query_params() 函式執行一個帶有引數的 PostgreSQL 查詢。與 pg_query() 不同的是,pg_query_params() 可以安全地處理引數值,避免了 SQL 注入的風險。
語法:pg_query_params(resource $connection, string $query, array $params)
引數:
- $connection:PostgreSQL 資料庫連線資源。
- $query:要執行的查詢字串。
- $params:包含查詢引數值的關聯陣列。陣列的鍵是引數的名稱,陣列的值是引數的值。
返回值:如果查詢執行成功,則返回一個結果資源。如果查詢失敗,則返回 FALSE。
示例:
// 建立資料庫連線
$conn = pg_connect("host=localhost port=5432 dbname=mydb user=myuser password=mypassword");
// 準備查詢語句
$query = "SELECT * FROM users WHERE age > $1 AND gender = $2";
// 設定查詢引數
$params = array(25, 'female');
// 執行查詢
$result = pg_query_params($conn, $query, $params);
// 檢查查詢是否成功
if ($result) {
// 處理查詢結果
while ($row = pg_fetch_assoc($result)) {
echo "Name: " . $row['name'] . ", Age: " . $row['age'] . ", Gender: " . $row['gender'] . "<br>";
}
} else {
echo "Query failed!";
}
// 關閉資料庫連線
pg_close($conn);
上面的示例演示瞭如何使用 pg_query_params() 函式執行帶有引數的 PostgreSQL 查詢。首先,我們建立了一個資料庫連線。然後,定義了一個查詢語句,其中包含兩個引數佔位符 $1 和 $2。接下來,我們使用一個關聯陣列來設定查詢引數的值。最後,透過呼叫 pg_query_params() 函式執行查詢,並根據查詢結果進行處理。在處理結果時,我們使用 pg_fetch_assoc() 函式從結果集中獲取每一行的資料,並將其列印出來。如果查詢失敗,則列印出 "Query failed!"。最後,我們關閉了資料庫連線。請注意,在實際使用中,應該根據需要進行錯誤處理和引數驗證。