如何在带有in的MySQL Select语句中使用PHP数组


How to use PHP Array in MySQL Select statement with IN?

我有一个数组,我写的代码不起作用。有人能帮我查询一下吗?非常感谢!

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

数组应该是字符串

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

如果产品代码是整数,则不需要引号

如果您的阵列不是多维,请尝试此操作

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

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

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

在使用IN()之前,您需要将数组内爆为逗号分隔的列表

IN(".implode(',',$array).")