MYSQL如何删除一个id在php数组变量中的值的数据?

我现在有一个PHP数组变量$arr,其中存储着我要删除的数据的id,然后我执行语句:deletefromtopicwheretopicIDin$arr,这样子不行哦??执... 我现在有一个PHP数组变量$arr,其中存储着我要删除的数据的id,然后我执行语句:
delete from topic where topicID in $arr,这样子不行哦??执行失败了,那要怎么执行呢???
展开
 我来答
匿名用户
2015-04-22
展开全部

php的数组和mysql是没有关系的

php是一种语言

mysql使用的是例外一种语言, 简称sql

这两种是完全不同而且独立的语言

php一般用于制作网站, sql用于对数据库进行操作

本身是没有关系, 只是, php可以发送操作sql命令而已!

所以, php不能去更改sql命令规则,只能使用!

sql 语句中的in命令, 参数提供,应该是需要字符串文本, 而不能提供所谓的数组,对象等!

那么, php中, 解决方法可以如:

$Sql = 'delete from topic where topicID in( ' join(',', $arr ) ' )';

使用这种方法的前提是, 你这个数组必须是一维数字索引数组,否则也会不成功

比如:

$arr = array(1, 2, 3 ,4);
//或者
$arr = array(0 => 1, 1 => 2, 2= >3, 3 => 4);
//或者
$arr[] = 1;
//或者
$arr[0] = 1; 
//等等这种格式, 然后
join(',', $arr);
//之后的结果,是 1,, 2, 3, 4这种格式, 然后应用到sql语句中格式为 in(1, 2, 3, 4)
//刚好符合sql语句语法规则
更多追问追答
追问
对不起我想采纳你的,一不小心采纳错了....TT
追答
没关系,如果问题解决了就好!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
莫路草根
2015-04-22 · TA获得超过4102个赞
知道大有可为答主
回答量:4184
采纳率:85%
帮助的人:1035万
展开全部
你的arr数组只有id而已吗?是几维数组的?把arr数据输出我看看
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式