(PHP 5 >= 5.4.4, PHP 7, PHP 8)
pg_escape_literal — 將字面值跳脫以插入文字欄位
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})");
?>