(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
包含要转义的文本的 string。
包含转义数据的 string。
版本 | 描述 |
---|---|
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})");
?>