从数据库中删除多条记录

时间:2017-06-19 06:51:27

标签: php mysql sql-delete delete-row

我有一个产品仪表板。在仪表板上显示所有产品详细信息。有复选框可一次删除多个产品。  为此,我使用此代码:

    $id=array('0'=> 'ab','1'=> 'bc','2'=> 'cd','3'=> 'de',.......);
    $packids=implode("','", $id);
    $packids= ('ab','bc','cd','ef',.....);// n numbers of record
    $sql = "DELETE from app_and_page where `Package` IN ($packids) and `user_created`=$uid";
    $retval = mysql_query( $sql, $link );

此查询仅删除一行。如何一次删除所有选定的行。

2 个答案:

答案 0 :(得分:1)

我认为pack ids中的问题只是试试这个 代替

$id=array('0'=> 'ab','1'=> 'bc','2'=> 'cd','3'=> 'de',.......);
$packids=implode("','", $id);
$packids= ('ab','bc','cd','ef',.....);// n numbers of record
$sql = "DELETE from app_and_page where `Package` IN ($packids) and `user_created`=$uid";
$retval = mysql_query( $sql, $link );

使用此

$id=array('0'=> 'ab','1'=> 'bc','2'=> 'cd','3'=> 'de',.......);
$packids=implode("','", $id);
$packids="('".$packids."')";
$sql = "DELETE from app_and_page where `Package` IN $packids and `user_created`=$uid";
$retval = mysql_query( $sql, $link );

它适用于你。

编辑

试试这个

$sql = "DELETE from app_and_page where trim(`Package`) IN $packids and `user_created`=$uid";

答案 1 :(得分:0)

$packids= ('ab','bc','cd','ef',.....);// n numbers of record $sql = "DELETE from app_and_page where Package IN (substr($packids, 0, strlen($packids)-1)) and user_created=$uid"; $retval = mysql_query( $sql, $link );

试试这个。 我想你必须从我们的packids字符串中删除最后一个逗号。