有没有解决方案可以使用PHP在foreach中使用不同的变量运行相同的查询?



我正在运行以下PHP代码。我有一个带有分隔数据的字符串(用";"分隔(。我想将这些数据拆分为一个数组,并且我想使用 foreach 运行相同的 INSERT sql 查询,仅使用数组实际项目进行更改。

运行代码后,出现了成功的消息。但是正如我所描述的那样,只有一条记录进入数据库(而且只有一次,所以如果我在第二次做同样的事情,则不会再添加记录,也不会添加数据库中已有的记录。(这就是我如此困惑的原因。

字符串示例:"email@email.com;email2@email2.com;">

PHP代码:

$connection = dbconnect();
$mail_addresses = explode(";",$_POST["mailaddresslist"]);
for($i = 0; $i < count($mail_addresses); $i++){
$query = "INSERT INTO `tablename` (`emsd_email`, `emsd_theme`, `emsd_timerdate`) VALUES ('".$mail_addresses[$i]."','". $_POST["themes"]."','".$_POST["emailsenddate"] ."');";
$connection->query($query);
}
print_note("E-mail successfully added!");

没有任何错误消息代码正在运行。在第一次它创建一个记录(仅包含数组中的第一项(,但之后代码根本不会产生任何效果。我运行多少次它什么都没做也没关系。数据库中不再显示任何记录。

  • 我解决了。问题是记录必须具有唯一 ID,并且必须是"自动增量"。现在它工作正常。:)*

最新更新