Pdo\Pgsql::copyFromArray

(PHP 8 >= 8.4.0)

Pdo\Pgsql::copyFromArrayCopia datos de un array PHP a una tabla

Descripción

public function Pdo\Pgsql::copyFromArray(
    string $tableName,
    array|Traversable $rows,
    string $separator = "\t",
    string $nullAs = "\\\\N",
    ?string $fields = null
): bool

Copia datos del array rows a la tabla tableName utilizando separator como delimitador de campos y la lista fields.

Parámetros

tableName

Una cadena de caracteres que contiene el nombre de la tabla.

rows

Un array indexado (o Traversable) de strings con los campos separados por separator.

separator

Un delimitador utilizado para separar los campos en una entrada del array rows.

nullAs

Cómo interpretar los valores NULL.

fields

La lista de campos a insertar.

Valores devueltos

Esta función retorna true en caso de éxito o false si ocurre un error.

Historial de cambios

Versión Descripción
8.5.0 rows ahora también acepta un Traversable; anteriormente sólo se aceptaba un array.

Ejemplos

Ejemplo #1 Ejemplo de Pdo\Pgsql::copyFromArray()

Cada elemento de rows es un registro cuyos campos se unen mediante separator (un tabulador por omisión).

<?php
$db = new Pdo\Pgsql('pgsql:dbname=test host=localhost', $user, $pass);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->exec('CREATE TABLE fruits (id int, name text, qty int)');

$rows = [
    "1\tapple\t10",
    "2\tbanana\t20",
    "3\tcherry\t30",
];
$db->copyFromArray('fruits', $rows);

foreach ($db->query('SELECT * FROM fruits ORDER BY id') as $row) {
    echo "{$row['id']} {$row['name']} {$row['qty']}\n";
}
?>

El ejemplo anterior mostrará:

1 apple 10
2 banana 20
3 cherry 30

Véase también

add a note

User Contributed Notes

There are no user contributed notes for this page.