Я пытаюсь вставить массив значений несколько раз в таблицу.
У меня есть простой массив, который генерируется пользователем, установившим флажок, и это то, что добавляется в массив, затем я хочучтобы вставить каждое значение в таблицу, я подумал, что мог бы сделать это с помощью цикла foreach и выполнить итерацию $ i, но, похоже, я не могу, мне не нужно беспокоиться о безопасности или чем-то еще, так как это внутренне используется двумя людьми.
вот что у меня есть:
foreach($detailsinvoice as $desc){
$conn3 = new PDO( DB_DSN, DB_USERNAME, DB_PASSWORD );
$sql3 = "INSERT INTO
xero_invoices (ContactName, Description)
VALUES (:ContactName, :Description)";
$st3 = $conn3->prepare ( $sql3 );
$st3->bindValue( ":ContactName", $this->ContactName, PDO::PARAM_STR );
$st3->bindValue( ":Description", $desc, PDO::PARAM_STR );
$st3->execute();
$this->InvoiceNumber = $conn3->lastInsertId();
$conn3 = null;
}
Это была моя первая попытка, но я понял, что соединение может быть использовано только один раз, а затем завершается, поэтому я попробовал итерацию, но снова я узнал, что выне может сделать это с помощью оператора PDO.
$i = 3;
foreach($detailsinvoice as $desc){
$conn[$i] = new PDO( DB_DSN, DB_USERNAME, DB_PASSWORD );
$sql[$i] = "INSERT INTO
xero_invoices (ContactName, Description)
VALUES (:ContactName, :Description)";
$st[$i] = $conn[$i]->prepare ( $sql[$i] );
$st[$i]->bindValue( ":ContactName", $this->ContactName, PDO::PARAM_STR );
$st[$i]->bindValue( ":Description", $desc, PDO::PARAM_STR );
$st[$i]->execute();
$this->InvoiceNumber = $conn[$i]->lastInsertId();
$conn[$i] = null;
$i++;
}
detailsinvoice
- это массив, и ContactName будет одинаковым каждый раз (имя контакта работает, просто нужно выяснить, зацикливается ли массив)
Буду признателен, если кто-нибудь укажет мне правильное направление.