一般情况下,SQL语句中in操作符的使用方式如下:
select * from table1
where id
in (1,2,3);
所以大家看到了,in操作符之后是一对小括号,把in的范围用括号括起来。
在ThinkPHP中,in操作的写法如下:
where=array();
w
h
e
r
e
=
a
r
r
a
y
(
)
;
where[‘id’] = array(‘in’,’1,2,3’);
M(‘table1’)->where($where)->select();
注意:
1、in之后不用把’1,2,3’用小括号再括起来,ThinkPHP在转换成SQL语句的过程中会自动添加小括号。
2、这里因为in的范围是数字,所以可以直接写’1,2,3’。如果是字符串,则需要使用数组的方式传递参数。如:
list=array(‘a′,′b′,′c′);
l
i
s
t
=
a
r
r
a
y
(
‘
a
′
,
′
b
′
,
′
c
′
)
;
where['type'] = array('in',$list);
综上所述,如果你的范围变量就是数组,那直接放到条件里面去就行。如果你的范围变量是字符串连起来的,那记得不用在外边加括号。