为mysql WHERE IN准备逗号分隔的字符串

时间:2010-08-31 04:52:47

标签: php mysql arrays string

我有以下字符串......

1,2,3,4,5,6-

我希望像

一样

'1', '2', '3', '4', '5', '6'

在MySQL的WHERE IN()

中使用

有人知道最好的方法吗?

谢谢!

3 个答案:

答案 0 :(得分:5)

使用explodeimplode

 $str = "1,2,3,4,5,6";
 echo "'" . implode("','", explode(',', $str)) . "'";

 //output: '1','2','3','4','5','6'

答案 1 :(得分:0)

你可以将你的字符串explode变成一个数组,然后join(或implode,这是一个别名!)它带引号:

$str = '1,2,3,4,5,6';
$arr = explode(",", $str); // turns your string into array(1, 2, 3, 4, 5, 6);
$joined_arr = join("', '", $arr); // becomes 1', '2', '3', '4', '5', '6
$query = "... WHERE ... IN ('$joined_arr')"; // note the two missing quotes have been added in

答案 2 :(得分:0)

WHERE (SUBSTRING(SUBSTRING_INDEX(cocodes,cash_out_code,-1),1,1)=','OR...

它实际上是字符串函数的组合..只是尝试那个方向