函式名稱:pg_prepare()
適用版本:PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8
函式描述:pg_prepare() 函式用於在 PostgreSQL 資料庫中建立一個預處理語句。
語法:pg_prepare(connection, stmtname, query)
引數:
- connection:必需,一個有效的 PostgreSQL 資料庫連線資源。
- stmtname:必需,預處理語句的名稱,用於標識預處理語句。
- query:必需,包含 SQL 查詢的字串。
返回值:如果成功,返回一個預處理語句的資源識別符號;如果失敗,返回 FALSE。
示例:
// 建立一個 PostgreSQL 資料庫連線
$connection = pg_connect("host=localhost port=5432 dbname=mydb user=myuser password=mypassword");
// 準備一個預處理語句
$query = "SELECT * FROM users WHERE id = $1 AND name = $2";
$stmtname = "myquery";
$preparedQuery = pg_prepare($connection, $stmtname, $query);
if ($preparedQuery) {
// 執行預處理語句
$params = array(1, "John");
$result = pg_execute($connection, $stmtname, $params);
if ($result) {
// 處理結果集
while ($row = pg_fetch_assoc($result)) {
echo "User ID: " . $row['id'] . ", Name: " . $row['name'] . "<br>";
}
} else {
echo "執行預處理語句失敗。";
}
} else {
echo "建立預處理語句失敗。";
}
// 關閉資料庫連線
pg_close($connection);
上述示例演示瞭如何使用 pg_prepare() 函式建立一個預處理語句,並使用 pg_execute() 函式執行該預處理語句。首先,我們建立了一個 PostgreSQL 資料庫連線。然後,我們使用 pg_prepare() 函式建立了一個名為 "myquery" 的預處理語句,該語句用於查詢 users 表中滿足給定條件的記錄。接下來,我們使用 pg_execute() 函式執行該預處理語句,並將引數陣列傳遞給它。最後,我們使用 pg_fetch_assoc() 函式遍歷結果集並輸出查詢結果。
請注意,在實際使用中,為了安全起見,建議使用引數化查詢來防止 SQL 注入攻擊。在示例中,我們使用了引數化查詢,透過陣列 $params 傳遞引數值。