Вставка нескольких записей в несколько таблиц php pdo
Следуя инструкциям здесь, чтобы сохранить несколько записей в базе данных, я придумал этот код
foreach($array as $value){
$stmt = $dbh->prepare("INSERT INTO REGISTRY (name, value) VALUES (:name, :value)");
$stmt->bindParam(':name', $value['name']);
$stmt->bindParam(':value', $value['value']);
$stmt->execute();
}
foreach($array1 as $value){
$stmt = $dbh->prepare ("INSERT INTO user (firstname, surname) VALUES (:fname, :sname)");
$stmt -> bindParam(':fname', 'John');
$stmt -> bindParam(':sname', 'Smith');
$stmt -> execute();
}
У меня есть что-то вроде этого, просто другая таблица и значение, но код тот же. Я хочу спросить, почему второй foreach
не выстрелил, не спасся только первый foreach
был уволен, и только первый набор данных был сохранен. Как сделать так, чтобы они оба были уволены и сохранены.
1 ответ
Убедитесь, что вы используете те же ключевые слова, что и для первого массива. Замените: VALUES (:f-name,:s-name)") на
VALUES (:fname, :sname)")
потому что ваш stmt вызывает fname и sname, но не s-name и f-name