(PHP 5 >= 5.4.4, PHP 7, PHP 8)
pg_escape_literal — Protege una consulta SQL literal para insertar en un campo de texto
pg_escape_literal() protege una consulta SQL literal para su ejecución en la base de datos PostgreSQL. El resultado devuelto es un string protegido en formato PostgreSQL. pg_escape_literal() añade comillas simples antes y después de los datos. Los usuarios no deben, por tanto, añadir comillas simples. Se recomienda el uso de esta función en lugar de pg_escape_string(). Si la columna es de tipo bytea, se debe utilizar en su lugar la función pg_escape_bytea(). Para proteger los identificadores (por ejemplo, nombres de tabla, nombres de campos), se debe utilizar la función pg_escape_identifier().
Nota:
Esta función tiene una protección de código interna y puede ser utilizada para PostgreSQL 8.4 o versiones anteriores.
connection
An PgSql\Connection instance.
When connection
is unspecified, the default connection is used.
The default connection is the last connection made by pg_connect()
or pg_pconnect().
As of PHP 8.1.0, using the default connection is deprecated.
data
Un string que contiene texto a proteger.
Un string que contiene los datos protegidos.
Versión | Descripción |
---|---|
8.1.0 |
The connection parameter expects an PgSql\Connection
instance now; previously, a recurso was expected.
|
Ejemplo #1 Ejemplo con pg_escape_literal()
<?php
// Conexión a la base de datos
$dbconn = pg_connect('dbname=foo');
// Lectura de un fichero (que contiene apóstrofes y barras invertidas)
$data = file_get_contents('letter.txt');
// Protección de los datos
$escaped = pg_escape_literal($data);
// Inserción en la base de datos. Observe que no hay comillas simples alrededor de {$escaped}
pg_query("INSERT INTO correspondence (name, data) VALUES ('My letter', {$escaped})");
?>