mysql中wherein⽤法详解
这⾥分两种情况来介绍
1、in 后⾯是记录集,如:
select  *  from  table  where  uname  in(select  uname  from  user);
2、in 后⾯是字符串,如:
select  *  from  table  where  uname  in('1','2','3');
注意:这⾥⼀定要将字符串⽤单引号''单个标注起来;
也可以定义变量
mysql中select$_str = '1,2,3';
select  *  from  table  where  uname  in($_str);
但严禁在in内⽤两个单引号,会遇到sql语句错误,如下
select  *  from  table  where  uname  in('1,2,3');
3、in 后⾯是数组,其实也就是第⼆种⽅法,只不过把需要把数组转换成像第⼆种⽅法那样的字符串形式://$pieces是含数据的数组
for($i=0;$i<count($pieces);$i++){
  $uname=$uname."'".$pieces[$i]."',";  //将数组转换成字符串,并且以⾖号分隔
}
$the_uname ="uname in(".$uname."'')"; //减去字符串的最后⼀个⾖号
select  *  from  table  where    ".$the_uname." ;
备注:这种⽅法的原理其实很简单,⼆就是把数组编程上⾯“第2种情况”的形式