如何使用 PHP 让我的数据库在这个“foreach”循环中多次更新


How can I get my database to update more than once in this "foreach" loop, using PHP?

这是在PHP网页中。

我有一个用户登陆的链接,例如:www.example.com/update?attend=1&code[]=4321&code[]=5642&code[]=1842我需要它来更新:foreach代码attend=1.

到目前为止我的代码:

...database connect information...
$codes = $_GET['code'];
$invitecode = $_GET['invitecode'];
foreach ($codes as $code) {
print $code;
?><br><?php
$sql = "UPDATE guests SET attend='$isattend' WHERE invitecode=$code";
}
...database close and result...

呈现为:

4321
5642
1842
Record updated successfully 

当我检查数据库时,只有1842最后一个值被设置attend=1.打印正确但只更新一个?

有谁明白我在这里做错了什么?

如果我

理解正确,所以你可以把它改成:

$codes = $_GET['code'];
$invitecode = $_GET['invitecode'];
$sql = "UPDATE guests SET attend='$isattend' WHERE invitecode IN (";
$sep = "";
foreach ($codes as $code) {
print $code;
?><br><?php
$sql = $sql . $sep .$code; 
$sep = ",";
}
$sql = $sql . ")"

这将生成更新来宾设置出席='$isattend' 其中邀请代码 (4321,5642,1842)

请让我知道它是否适合您

您可以在 foreach 中执行每个 sql,但最好使用 IN,clause.so 您的代码只命中数据库一次。