我有一个数组,我写了这个代码不起作用。有人可以帮我解决这个问题吗?非常感谢!
$sql = "SELECT * FROM `product` WHERE `product`.`Productcode` IN (".$array.") ";
$result=mysql_query($sql);
if(!$result)die('not exist');
答案 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).")