首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mysql删除数组中的多行

问Mysql删除数组中的多行
EN

Stack Overflow用户
提问于 2013-07-15 23:19:13
回答 1查看 4K关注 0票数 1
代码语言:javascript
复制
$favour_delete=$_GET['favour_delete'];
$favour_delete=implode(",",$favour_delete);

$delete=$db->prepare("DELETE FROM favour WHERE post_id IN (:favour_delete) && user_id=:user_id");
$delete->bindValue(':favour_delete', $favour_delete, PDO::PARAM_STR);
$delete->bindValue(':user_id', $user_id, PDO::PARAM_STR);   

我有一个mysql删除数组中的多行。user tick复选框并以数组形式发送。

我将它内爆成字符串并使用IN (),我不知道哪里出了问题,它只删除了一行。

代码语言:javascript
复制
post_id  user_id
2        1
3        1
4        2

因此,如果user: 1发送$favour_delete=array(2,3);,则应删除第一行和第二行

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-15 23:25:43

不幸的是,到目前为止,有一种方法可以在查询中参数化in子句,您最好的选择如下所示。

代码语言:javascript
复制
<?php
$favour_delete=$_GET['favour_delete'];
$favour_delete=array_map('intval',$favour_delete);

$delete=$db->prepare("DELETE FROM favour WHERE post_id IN (".implode(",",$favor_delete).") && user_id=:user_id");
$delete->bindValue(':user_id', $user_id, PDO::PARAM_STR); 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17657760

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档