Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用复选框删除HTML表单中的选定记录_Php_Html_Database - Fatal编程技术网

Php 使用复选框删除HTML表单中的选定记录

Php 使用复选框删除HTML表单中的选定记录,php,html,database,Php,Html,Database,我有一个HTML表单,其中包含一些记录。应通过选中一个或所有记录对应复选框来删除记录 当我选中一条记录的复选框并单击“删除”时,查询将成功运行,但该记录不会删除 以下是PHP代码: if(isset($_POST['delete'])) { $allCheckBoxId = $_POST['chkDel']; array_map ('mysql_real_escape_string', $allCheckBoxId); $ids = implode(",", $all

我有一个HTML表单,其中包含一些记录。应通过选中一个或所有记录对应复选框来删除记录

当我选中一条记录的复选框并单击“删除”时,查询将成功运行,但该记录不会删除

以下是PHP代码:

if(isset($_POST['delete']))
{ 
    $allCheckBoxId = $_POST['chkDel'];

    array_map ('mysql_real_escape_string', $allCheckBoxId);
    $ids = implode(",", $allCheckBoxId);

    $object=new connection();
    $object=$object->dbConnect();


    $st=$object->prepare(
        "delete * from banners where bannerid IN (?)");

    $st->bindParam(1, $ids);
    $delete=$st;
    $delete->execute();
    if($delete)
    {
        echo "record deleted successfully." . 
             "This will go to banners within 5 sec";

    }
    else
    {
        echo "not deleted";

    }
}
和HTML格式:

<form name="myform" action="listbanners.php" method="post" OnSubmit="return onDelete();" id="frm1">
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
    <tr>
        <th width="13"><input type="checkbox" class="checkbox" title="select all" onclick="checkAll(document.myform.chkDel);" name="CheckAll" /></th>
        <th width="13">ID</th>
        <th>Name</th>
        <th><input type="submit" name="delete" value"Delete"></th>
    </tr>
    <?php
        $object=new connection();
        $object=$object->dbConnect();
        $st=$object->prepare("select * from banners order by bannerid desc");
        $st->execute();
        while($row=$st->fetch(PDO::FETCH_ASSOC))
        {
    ?>

    <tr>
        <td><input name="chkDel[]" type="checkbox" title="select" class="checkbox" value="<?php echo $row['bannerid'];?>"/></td>
        <td><?php echo $row['bannerid'];?></td>
        <td><h3 onClick="location='editbanner.php?bannerid=<?php echo $row['bannerid'];?>'"><?php echo $row['file'];?></h3></td> 
        <td><input type="submit" name="delete" value="delete"/></td>
    </tr>
</form>

身份证件
名称
您试图将单个参数绑定到一个值数组。您需要将每个值作为单独的参数传入;例如:

$st=$object->prepare("delete * from banners where bannerid IN (?,?,?)");
您需要为要包含在in子句中的每个值包含一个占位符。您可以根据
$id
中的项目数量动态生成SQL


我错过了“DELETE*”,这是无效的语法;但我把它留在原地,因为我注意到的观点是正确的。这是一个不完整的答案,不是一个错误的答案。

呼出您正在生成的SQL;当您直接在数据库中运行它时,它工作吗?我使用PDO方式与mysql db通信。如何将该查询运行到PhpMyAdmin中?复制查询并将其粘贴到PhpMyAdmin(选项卡“SQL”)。如果执行$st->bindParam(1,$id)$st->bindParam(2,$id)$st->bindParam(3,$id);这是正确的方法吗?对不起,伙计们!这太容易了。我解决了这个小问题。问题是“删除*”,现在我删除了“*”,现在它开始工作了。我肯定会注意到这一点。你应该加上这个作为回答。我试图回答,因为我是这个网站的新成员,所以不需要为回答自己的问题而赢得声誉。
$st=$object->prepare("delete * from banners where bannerid IN (?,?,?)");