【发布时间】:2019-12-27 10:54:35
【问题描述】:
我有工作代码,可将数据插入 csv 文件。这是其中的一部分:
if (isset($_POST['array'])) {
foreach ($_POST['array'] as $loop) {
$txt = $txt . $loop['name'] . ";" . $loop['email'];
$txt .="\n";
}
}
我希望它可以将数据插入到 mysql 数据库中,而不是 csv,所以我只是将代码更改为:
if (isset($_POST['array'])) {
foreach ($_POST['array'] as $loop) {
$sql = "insert into persons (Name, Email)
values ('" . $loop['name'] . "', '" . $loop['email'] . "')";
}
}
只有最后一条记录保存到persons 表中。没有错误,但除了最后一条之外的所有先前记录都没有插入。为什么?
【问题讨论】:
-
在哪里执行sql语句?
-
另外,你确实想use prepared statements。
-
您在循环的每次迭代中都覆盖了
$sql(而不是连接)。最后一个获胜 -
使用小写的表列名
Name,Emailtoname,email