用户
 找回密码
 入住 CI 中国社区
搜索
查看: 2734|回复: 6
收起左侧

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

[复制链接]
发表于 2014-9-3 10:43:22 | 显示全部楼层 |阅读模式
本帖最后由 沦陷今生 于 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'

发表于 2014-9-3 11:12:08 | 显示全部楼层
implode(',',$ids)
发表于 2014-9-3 11:15:23 | 显示全部楼层
如果是在用CI的话,建议看看数据库这块的文档
http://codeigniter.org.cn/user_g ... _record.html#select
发表于 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:}

本版积分规则