我正在尝试使用mysql where-in子句的数组
$result= $myDB->query("SELECT sum(total) as total FROM ".$myDB->prefix("mydata")." WHERE categoryname IN ('".$categoryname."') AND year='$year' AND stat_id='$stat_id'");
categoryname的当前输出为
('Cat1,Cat2,Cat3')
期望输出
('Cat1','Cat2','Cat3')
到目前为止我试过了,但不起作用
$categoryname_new = implode(',',$categoryname);
$result= $myDB->query("SELECT sum(total) as total FROM ".$myDB->prefix("mydata")." WHERE categoryname IN ('".$categoryname_new."') AND year='$year' AND stat_id='$stat_id'");
2条答案
按热度按时间gopyfrb31#
最简单的解决方案是:
但它可能会引入sql注入,所以您需要首先正确地转义数组中的数据
带转义的一行示例:
注:
mysql_*
函数已弃用,您需要使用mysqli_*
哪些需要连接链接qxgroojn2#
不久前我用
array_map
,希望有帮助:上面的代码将遍历数组,并修改每个元素以用
''
. 最后,我加入了数组,
.