PHP.mk документација

PDO::pgsqlCopyFromArray

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

pdo.pgsqlcopyfromarray.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека pdo.pgsqlcopyfromarray.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
PDO::pgsqlCopyFromArray

Референца за `pdo.pgsqlcopyfromarray.php` со подобрена типографија и навигација.

pdo.pgsqlcopyfromarray.php

PDO::pgsqlCopyFromArray

(PHP 5 >= 5.3.3, PHP 7, PHP 8)

PDO::pgsqlCopyFromArray Псевдоним на Pdo\Pgsql::copyFromArray()

= NULL

public PDO::pgsqlCopyFromArray(
         string $tableName,
         array $rows,
         string $separator Вметни записи во табела од низа,
         string $nullAs = "\t",
         ?string $fields = null
): bool

Овој метод е алијас на: Pdo\Pgsql::copyFromArray().

Белешки од корисници 1 белешка

Анонимен
пред 10 години
If your $nullAs is '\\N', then you should use $nullAs as is in concatenation of cells of $rows, but send to pgsqlCopyFromArray() escaped version. Also fifth arg $fields should be a SQL-valid string for the column_names placeholder in COPY statement of PostgreSQL.

I provide my smart wrapper for pgsqlCopyFromArray() which do this automatically.

<?php
/**
 *
 * @param PDO $db
 * @param string $tableName
 * @param string[] $fields List of fields names.
 * @param array[] $records Two-demension array of cells (array of rows).
 * @return boolean
 */
function pgInsertByCopy (PDO $db, $tableName, array $fields, array $records) {
    static $delimiter = "\t", $nullAs = '\\N';

    $rows = [];

    foreach ($records as $record) {
        $record = array_map(
                function  ($field) use( $record, $delimiter, $nullAs) {
                    $value = array_key_exists($field, $record) ? $record[$field] : null;

                    if (is_null($value)) {
                        $value = $nullAs;
                    } elseif (is_bool($value)) {
                        $value = $value ? 't' : 'f';
                    }

                    $value = str_replace($delimiter, ' ', $value);
                    // Convert multiline text to one line.
                    $value = addcslashes($value, "\0..\37");

                    return $value;
                }, $fields);
        $rows[] = implode($delimiter, $record) . "\n";
    }

    return $db->pgsqlCopyFromArray($tableName, $rows, $delimiter, addslashes($nullAs), implode(',', $fields));
}
?>
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.