Я хочу сделать несколько вложений с помощью PHP PDO.
Самый близкий ответ, который я нашел, - это
how-to-insert-an-array-into-a-single-mysql-prepared-statement
Однако пример, который был дан, использует? вместо реальных заполнителей.
Я рассмотрел примеры на сайте PHP doc для владельцев мест
php.net pdo.prepared-statements
$stmt = $dbh->prepare("INSERT INTO REGISTRY (name, value) VALUES (:name, :value)");
$stmt->bindParam(':name', $name);
$stmt->bindParam(':value', $value);
Теперь скажем, что я хотел достичь выше, но с массивом
$valuesToInsert = array(
0 => array('name' => 'Robert', 'value' => 'some value'),
1 => array('name' -> 'Louise', 'value' => 'another value')
);
Как мне поступить с PDO и несколькими вставками на транзакцию?
Я предполагаю, что это начнется с цикла?
$stmt = $dbh->prepare("INSERT INTO REGISTRY (name, value) VALUES (:name, :value)");
foreach($valuesToInsert as $insertRow){
// now loop through each inner array to match binded values
foreach($insertRow as $column => value){
$stmt->bindParam(":{$column}", value);
}
}
$stmt->execute();
Однако вышеизложенное не работает, но, надеюсь, продемонстрирует, что im пытается достичь