MYSQL如何删除一个id在php数组变量中的值的数据?
我现在有一个PHP数组变量$arr,其中存储着我要删除的数据的id,然后我执行语句:deletefromtopicwheretopicIDin$arr,这样子不行哦??执...
我现在有一个PHP数组变量$arr,其中存储着我要删除的数据的id,然后我执行语句:
delete from topic where topicID in $arr,这样子不行哦??执行失败了,那要怎么执行呢??? 展开
delete from topic where topicID in $arr,这样子不行哦??执行失败了,那要怎么执行呢??? 展开
2个回答
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
追答
没关系,如果问题解决了就好!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |