pg_insert
(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
pg_insert —
Insere array na tabela
Descrição
Se flags
for especificado,
pg_convert() será aplicado aos
values
com as opções (flags) especificadas.
Por padrão, pg_insert() passa valores brutos.
Os valores devem ser escapados ou a opção PGSQL_DML_ESCAPE
deve ser especificado em flags
.
PGSQL_DML_ESCAPE
cita e escapa parâmetros/identificadores.
Portanto, os nomes de tabelas/colunas diferenciam maiúsculas de minúsculas.
Observe que nem o escape nem a consulta preparada podem proteger consultas LIKE,
JSON, Array, Regex, etc. Esses parâmetros devem ser tratados
de acordo com seus contextos. ou seja, escapar/validar valores.
Valor Retornado
Retorna true
em caso de sucesso ou false
em caso de falha.. Ou retorna um string em caso de sucesso se PGSQL_DML_STRING
for passado
via flags
.
Erros/Exceções
Um ValueError é lançado quando a tabela especificada é inválida.
Um ValueError ou TypeError é lançado
quando o valor ou tipo de campo não corresponde corretamente ao tipo do PostgreSQL.
Exemplos
Exemplo #1 Exemplo de pg_insert()
<?php
$dbconn = pg_connect('dbname=foo');
// Isso é um tanto seguro, já que todos os valores têm escape.
// No entanto, o PostgreSQL suporta JSON/Array. Estes não são
// seguros nem por escape nem por consulta preparada.
$res = pg_insert($dbconn, 'post_log', $_POST, PGSQL_DML_ESCAPE);
if ($res) {
echo "Os dados POST foram registrados com sucesso\n";
} else {
echo "Usuário deve ter enviado entradas erradas\n";
}
?>
Veja Também
- pg_convert() - Converte valores de array associativo em formas adequadas para instruções SQL