pg_insert
(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
pg_insert —
Inserta un array en una tabla
Descripción
Si flags
está especificado,
pg_convert() se aplica a
values
con los flags proporcionados.
Por omisión, pg_insert() pasa valores sin tratar.
Los valores deben ser escapados o el flag PGSQL_DML_ESCAPE
debe ser especificado en flags
.
PGSQL_DML_ESCAPE
coloca comillas y escapa los parámetros/identificadores.
Por consiguiente, los nombres de tabla/columnas se vuelven sensibles a mayúsculas y minúsculas.
Tenga en cuenta que ni el escape ni las consultas preparadas pueden proteger
consultas LIKE, JSON, arrays, Regex, etc. Estos parámetros deben ser
tratados de acuerdo con su contexto. Es decir, escapar/validar los valores.
Valores devueltos
Esta función retorna true
en caso de éxito o false
si ocurre un error.. O retorna un string si PGSQL_DML_STRING
es proporcionado a través de flags
.
Errores/Excepciones
Se lanza una ValueError cuando la tabla especificada es inválida.
Se lanza una ValueError o TypeError cuando
el valor o el tipo del campo no coincide correctamente con un tipo PostgreSQL.
Ejemplos
Ejemplo #1 Ejemplo con pg_insert()
<?php
$db = pg_connect ('dbname=foo');
// Esto es seguro en cierta medida, ya que todos los valores son escapados
// Sin embargo, PostgreSQL soporta JSON/arrays. Estos no son
// seguros ni por escape ni por consultas preparadas.
$res = pg_insert($dbconn, 'post_log', $_POST, PGSQL_DML_ESCAPE);
if ($res) {
echo "Los datos POSTeados han podido ser registrados con éxito.\n";
} else {
echo "Hay un problema con los datos.\n";
}
?>
Ver también
- pg_convert() - Convierte valores de un array asociativo a una forma adecuada para consultas SQL