Как вы можете сделать 3 разных INSERT таблицы с PDO, которые SQL-запрос генерирует с помощью цикла for, например,
Мой скрипт очень большой, поэтому я собираюсь сузить его до основногоФакторы кода.
$date_sql = '';
for($i = 0; $i < count($_POST['date_range']); $i++)
{
// codez
$date_sql .= " INSERT INTO dates (date_one, date_two) VALUES('" . $_POST['date_range'][$i] . "', '" . $_POST['date_range_end'][$i] . "'); ";
// more codez
}
У меня есть 3 для циклов, которые такие же, как этот цикл, который я дал, но разные значения $_POST
и разные таблицы: months
, years
.Он генерирует многострочный SQL-запрос из переменной $*_sql
.
После того, как 3 цикла выполнены, я объединяю переменные 3 sql в строку:
$main_sql = $date_sql . $month_sql . $year_sql;
Затем я хочу, чтобы он выполнил SQL, который его обрабатывает, и вставляет значения в таблицы.вот так:
$dbh->beginTransaction();
$sth = $dbh->exec($main_sql);
$dbh->commit();
Но правильный ли это, эффективный способ сделать это?