沦陷今生 发表于 2014-9-3 10:43:22

有没有简单的自带函数能组成sql语句的where in那个条件呢

本帖最后由 沦陷今生 于 2014-9-4 15:19 编辑

例如现在有个数组
$ids = array(1,2,3);

$string = 某函数($ids);

echo $string;//输出('1','2','3') 或者输出 '1','2','3' 没有括号后面可以自己加上

然后方便代入sql里面
$query = "select * from table where id in $string ";

有没有这个现成的函数呢?


没有的话只好自己写了?

foreach($ids as $val){
      $string .= "'".$val."',";
}
$string = rtrim($string,',');//删最末尾那个多余的逗号
echo $string;//得到 '1','2','3'

wlyx 发表于 2014-9-3 11:12:08

implode(',',$ids)

wlyx 发表于 2014-9-3 11:15:23

如果是在用CI的话,建议看看数据库这块的文档
http://codeigniter.org.cn/user_guide/database/active_record.html#select

xubing 发表于 2014-9-3 15:39:20

我的做法
$str=impload("','",$ids);
$string="'".$str."'";

沦陷今生 发表于 2014-9-4 15:27:56

xubing 发表于 2014-9-3 15:39
我的做法
$str=impload("','",$ids);
$string="'".$str."'";

原来能用多个字符做拼接符,我刚刚才知道。{:soso_e181:}

沦陷今生 发表于 2014-9-4 15:28:35

xubing 发表于 2014-9-3 15:39
我的做法
$str=impload("','",$ids);
$string="'".$str."'";

遇到是字符串的就少了单引号包围了

沦陷今生 发表于 2014-9-4 15:28:59

wlyx 发表于 2014-9-3 11:15
如果是在用CI的话,建议看看数据库这块的文档
http://codeigniter.org.cn/user_guide/database/active_reco ...

谢谢{:soso_e181:}
页: [1]
查看完整版本: 有没有简单的自带函数能组成sql语句的where in那个条件呢