在ASP中查询数据库可以直接写 sql = "select * from table where id in("&abc&")";其中abc是个数组。但是在PHP中写sql = "select * from table where id in($abc)" 其中$abc是个数组。这样就会出错。为什么PHP中不可以写数组啊?难道要做个循环一个一个查询????
这么写当然不行,因为in里面是个字符串你放数组格式就不对
用implode(",", $array)把数组转为字符串就行,不用循环。
用implode(",", $array)把数组转为字符串就行,不用循环。
温馨提示:答案为网友推荐,仅供参考
第1个回答 2009-11-01
PHP里面也有WHERE IN 不可以写数组,要吧数组转换成字符串
implode(",", $array)
implode(",", $array)
第2个回答 推荐于2018-03-02
$abc 需要拼接为字符串
<?php
$arr = array('1','2','3','4','5');
$abc = implode(",",$arr);
sql = "select * from table where id in($abc)"
?>本回答被网友采纳
<?php
$arr = array('1','2','3','4','5');
$abc = implode(",",$arr);
sql = "select * from table where id in($abc)"
?>本回答被网友采纳
第3个回答 推荐于2016-09-24
例如 select * from duiqun where id in (1,3,5,6,80)
其中,in(xxx),表示在这个范围内查找匹配id
查询duiqun表, 条件是id在(1,3,5,6,80)
也等同于
select * from duiqun where id='1' or id='3' or id='5' or id='6' or id='80'
其中,in(xxx),表示在这个范围内查找匹配id
查询duiqun表, 条件是id在(1,3,5,6,80)
也等同于
select * from duiqun where id='1' or id='3' or id='5' or id='6' or id='80'