【发布时间】:2011-08-06 09:08:23
【问题描述】:
如何使用通过 for 循环生成 SQL 查询的 PDO 执行 3 个不同的表 INSERT,例如
我的脚本非常庞大,因此将其缩小到代码的主要因素。
$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 for 循环,与我给出的这个循环相同,但不同的 $_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();
但这是正确、有效的方式吗?
【问题讨论】:
标签: php mysql sql for-loop pdo