还有问题要请教 如果一个数组为 $arr=array("a","b","c") 我要写一个这样的筛选语句: select * from user where user_id in ('a','b','c') 所以遇到开始的问题,用implode(",",$arr)之后,得出的语句是 select * from user where user_id in ('a,b,c')是执行不了的 应该怎么做?
楼主的意思是不是这样的:$str = 'a,b,c'; $arr = explode(",",$str); $in_sql =""; for ($i=0;$i<count($arr);$i++){ $in_sql.="'".$arr[$i]."',"; } $in_sql=substr($in_sql,0,strlen($in_sql)-1); $query="select * from user where user_id in (".$in_sql.")";
$b = implde("", $a);
var_dump( $b );
$a=array("a","b","c");
$b = implde(",", $a);
var_dump( $b );
$a=array("a","b","c");
$b = implode(",", $a);
var_dump( $b );
如果一个数组为
$arr=array("a","b","c")
我要写一个这样的筛选语句:
select * from user where user_id in ('a','b','c')
所以遇到开始的问题,用implode(",",$arr)之后,得出的语句是
select * from user where user_id in ('a,b,c')是执行不了的
应该怎么做?
$b = implode(",", $a);
var_dump( $b );
$o="'".preg_replace("/,/","','",$b)."'";
echo $o;
$b = implode("','", $a);
$b = "'".$b."'";
echo $b;
$arr = explode(",",$str);
$in_sql ="";
for ($i=0;$i<count($arr);$i++){
$in_sql.="'".$arr[$i]."',";
}
$in_sql=substr($in_sql,0,strlen($in_sql)-1);
$query="select * from user where user_id in (".$in_sql.")";