За последние 24 часа нас посетили 17422 программиста и 987 роботов. Сейчас ищут 403 программиста ...

insert unnest(array)

Тема в разделе "PostgreSQL", создана пользователем k-dimka, 26 авг 2022.

Метки:
  1. k-dimka

    k-dimka Новичок

    С нами с:
    26 авг 2022
    Сообщения:
    1
    Симпатии:
    0
    Доброго времени суток, уважаемые форумчане, бьюсь головой третий день, суть такова:
    Код (Text):
    1. public function InsertDoc($numdoc)
    2.     {
    3.         // if (!empty($numDoc)) {
    4.             parent::connect();
    5.             $this->pdo->beginTransaction();
    6.             $this->pdo->query("INSERT INTO honestsign (numdoc) VALUES (unnest(array['123','234','1234','234','234','421','421']))");
    7.             $this->pdo->commit();
    8.             $this->pdo = null;
    9.        //  }
    10.     }
    11. }
    в таком варианте без проблем записи добавляются, но если я делаю
    Код (Text):
    1. $numdoc = ['123','234','1234','234','234','421','421'];
    2.     public function InsertDoc($numdoc)
    3.     {
    4.         // if (!empty($numDoc)) {
    5.             parent::connect();
    6.             $this->pdo->beginTransaction();
    7.             $this->pdo->query("INSERT INTO honestsign (numdoc) VALUES (unnest($numdoc))");
    8.             $this->pdo->commit();
    9.             $this->pdo = null;
    10.        //  }
    11.     }
    то получаю вот такую ошибку, помогите кто знает
    Notice: Array to string conversion in /var/www/html/tk/honestSign/db.php on line 13

    Fatal error: Uncaught PDOException: SQLSTATE[42601]: Syntax error: 7 ОШИБКА: ошибка синтаксиса (примерное положение: ")") LINE 1: INSERT INTO honestsign (numdoc) VALUES (unnest(Array)) ^
     
  2. don.bidon

    don.bidon Активный пользователь

    С нами с:
    28 мар 2021
    Сообщения:
    828
    Симпатии:
    129
    То есть вместо того, чтобы воспользоваться поисковиками и переводчиками, нужно создавать очередную мусорную тему?