Php 从数组创建SQL

Php 从数组创建SQL,php,mysql,sql,Php,Mysql,Sql,我试图创建一个SQL查询,根据数组包含的内容从数据库中获取数据 例如: 我的数组包括1,2,3,那么查询应该是SELECT*FROM v,其中category='1'或category='2'或category='3' 有人知道实现这一目标的方法吗 欢迎任何提示 更新: 使用MySQL作为DB。您可以在子句中使用内爆函数和 $sql="SELECT * FROM v WHERE category IN ('".implode("','", $your_array)."')"; 我想看一看,它使

我试图创建一个SQL查询,根据数组包含的内容从数据库中获取数据

例如:

我的数组包括
1,2,3
,那么查询应该是
SELECT*FROM v,其中category='1'或category='2'或category='3'

有人知道实现这一目标的方法吗

欢迎任何提示

更新:


使用MySQL作为DB。

您可以在子句中使用
内爆
函数和

$sql="SELECT * FROM v WHERE category IN ('".implode("','", $your_array)."')";
我想看一看,它使用占位符和PDO将参数添加到查询中。按照Saty的答案,您可能会面临SQL注入的风险。

您也可以尝试:

$where = 'WHERE category="' . implode('" OR category="', $array) . '"';
$sql = "SELECT * FROM v WHERE ( FIND_IN_SET(".implode("','", $your_array).", category) ) ";

有关在集合中查找集合的更多信息:

请添加您使用的数据库产品(例如MySQL),根据给定的查询,您是否没有得到所需的结果?@hamzafeer该查询应该可以工作。我只是需要从我的arrayI创建查询的一些帮助,我正在DB类中使用PDO。所有数据都已清理仅供参考,我不知道您如何对数据进行清理。如果使用未统计的数据处理SQL查询,并将该查询传递给PDO,则PDO不会为您执行任何清理。DB类清理数据。