这是在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 您的代码只命中数据库一次。