我在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,而不重复查询。
感谢。
编辑:
答案 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
)
);