从(* php变量*)中的id返回错误的表中删除

时间:2014-07-30 12:10:12

标签: php mysql sql

我在php应用程序中工作,我必须从列表中删除所选项目,其中每个项目都有自己的ID来自mysql数据库,一切顺利,直到在php中执行查询。

这是错误消息:

  

您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以便在第5行的''附近使用正确的语法

这是我在查询中执行的字符串:

$queryDE =  "delete from md5_agenda
             where id_empresa = $empi
             and id_unidade = $unii
             and id_usuario = $usrr
             and id_item_agenda in ($deletar);"

变量$deletar从post方法接收它们的值,它们的值类似于:35,36,47,...,可以是多个不同的值

但我的问题是,如果我更改$deletar的确切值一切正常,但如果我使用具有完全相同值的php变量它不起作用并返回先前的错误消息,我没有关于做什么的更多想法...我想保持这种方式,我可以选择我想删除的所有ID,而不重复查询。

感谢。

编辑: the echo returns the $queryDE and the mysql_error()

2 个答案:

答案 0 :(得分:1)

foreach($deletar as $val)
{
             $queryDE =  "delete from md5_agenda
             where id_empresa = $empi
             and id_unidade = $unii
             and id_usuario = $usrr
             and id_item_agenda = $val;"
}

your code is not working because $deleter is return multiple value.
check code it's working.  

答案 1 :(得分:0)

为什么不使用安全的参数化查询?

$db =new PDO('... your connection string ... ');
$stmt = $db->prepare("delete from md5_agenda
         where id_empresa = :empi
         and id_unidade = :unii
         and id_usuario = :usrr
         and id_item_agenda in (:deletar);");
$stmt->execute(array(
                ':empi' => $empi,
                ':unii' => $unii,
                ':usrr' => $usrr,
                ':deletar' => $deletar
              )
);