如何在MySQL中使用PHP数组使用IN选择语句?

时间:2013-06-27 09:23:16

标签: php mysql arrays select

我有一个数组,我写了这个代码不起作用。有人可以帮我解决这个问题吗?非常感谢!

 $sql = "SELECT * FROM `product` WHERE `product`.`Productcode` IN (".$array.") ";
         $result=mysql_query($sql);
         if(!$result)die('not exist');

4 个答案:

答案 0 :(得分:1)

数组应该是一个字符串

$string = implode("','", $array);
$sql = "SELECT * FROM `product` WHERE `product`.`Productcode` IN ('".$string."') ";
如果productcode是整数

,则不需要

引号

答案 1 :(得分:1)

如果您的数组不是多维的,请尝试此操作

$sql = "SELECT * FROM `product` WHERE `product`.`Productcode` IN ('".implode("',", $array)."') ";

答案 2 :(得分:0)

您需要将implode()数组转换为字符串(假设您的$array实际上是一个数组):

$sql = "SELECT * FROM `product` WHERE `product`.`Productcode` IN ('" . implode("', '", $array) . "')";

答案 3 :(得分:0)

在将数组用于IN()

之前,您需要将数组内插到以逗号分隔的列表中
IN(".implode(',',$array).")