PHP Conference Japan 2024

pg_escape_literal

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

pg_escape_literal 將字面值跳脫以插入文字欄位

說明

pg_escape_literal(PgSql\Connection $connection = ?, string $data): string

pg_escape_literal() 會將用於查詢 PostgreSQL 資料庫的字面值跳脫。它會以 PostgreSQL 格式傳回一個已跳脫的字面值。pg_escape_literal() 會在資料前後加上引號。使用者不應自行加上引號。建議使用此函式,而非 pg_escape_string()。如果欄位的類型是 bytea,則必須使用 pg_escape_bytea()。若要跳脫識別符號(例如:表格、欄位名稱),則必須使用 pg_escape_identifier()

注意:

這個函式具有內部跳脫程式碼,也可以與 PostgreSQL 8.4 或更低版本一起使用。

參數

connection

一個 PgSql\Connection 實例。當 connection 未指定時,將使用預設連線。預設連線是 pg_connect()pg_pconnect() 建立的最後一個連線。

警告

從 PHP 8.1.0 開始,不建議使用預設連線。

data

包含要跳脫的文字的 字串

返回值

包含已跳脫資料的 字串

更新日誌

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

範例

範例 #1 pg_escape_literal() 範例

<?php
// 連線到資料庫
$dbconn = pg_connect('dbname=foo');

// 讀取文字檔(包含撇號和反斜線)
$data = file_get_contents('letter.txt');

// 跳脫文字資料
$escaped = pg_escape_literal($data);

// 將其插入資料庫。注意 {$escaped} 周圍沒有引號
pg_query("INSERT INTO correspondence (name, data) VALUES ('My letter', {$escaped})");
?>

參見

新增註解

使用者提供的註解

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