2016-09-24 70 views
0

我有一个PHP数组作为这样WHERE IN()子句:创建从PHP阵列引号

(0 => assssssss,1 =>迷彩,2 =>蓖麻油)

我想建立一个查询字符串是这样的:

WHERE IN ('assssss','camo','castor') 

我一直在使用内爆,它返回一个字符串,但没有单引号,像这样尝试:

asssss,迷彩,CATOR

循环阵列加入引号throught,加入逗号检测最后的值似乎有点乏味。

有什么方法可以获得所需的字符串?

回答

0

试试下面的方法

$query = "SELECT column1 FROM table WHERE column1 IN ('".implode("','",$array)."')"; 

您的查询将得到执行与WHERE子句所需要的格式。

+1

此解决方案不安全,如果任何字符串将包含'''符号,它将打破SQL。 –

+0

嘿男人那么相同的情况会发生在与引号排列的元素,即使没有使用这个。 – Sasikumar

+1

我的意思是你应该使用准备好的语句,并用引号括起来。 –

0

你必须考虑使用预备的sql语句。请检查互联网php pdo。