我试图在删除用户时从匹配用户 ID 的表中删除记录。但不知何故,它只从 cv 表中删除记录。
我正在尝试的是
if($_GET['deluser'] !='1'){
$qr = "delete from members where member_id IN(".$_GET['deluser'].")";
$qr = "delete from company where caller_id IN(".$_GET['deluser'].")";
$qr = "delete from cv where agent_id IN(".$_GET['deluser'].")";
$st = $db->prepare($qr);
$st->execute();
header('Location: users.php?action=DELETED');
exit;
Run Code Online (Sandbox Code Playgroud)
我可能做错了什么?
在您的情况下,您$qr每次都会覆盖该值,因此您需要执行它,每个人都单独执行,
您还需要修复SQL注入问题,以便您可以通过在execute方法中使用绑定数据或使用bindParam
首先,您需要添加?要传递的相同数量的输入
您可以检查它如何工作在这里的这个答案
$in = str_repeat('?,', count(explode(',', $_GET['deluser'])) - 1) . '?';
Run Code Online (Sandbox Code Playgroud)
$qr = "delete from members where member_id IN($in)";
$st = $db->prepare($qr);
$st->execute(explode(',', $_GET['deluser']));
$qr = "delete from company where caller_id IN($in)";
$st = $db->prepare($qr);
$st->execute(explode(',', $_GET['deluser']));
$qr = "delete from cv where agent_id IN($in)";
$st = $db->prepare($qr);
$st->execute(explode(',', $_GET['deluser']));
Run Code Online (Sandbox Code Playgroud)
您可以在文档中阅读有关BindParam和Execute 的更多信息
| 归档时间: |
|
| 查看次数: |
83 次 |
| 最近记录: |