php - SQL从数组中选择IN子句?

标签 php sql arrays postgresql

我有一个 list

$list = array('a','b','c','d','e','f');
$filter_list = join(", " $list);
select * from test where id_col=12 and try_col in ($filter_list);

谁能告诉我我该怎么做?

最佳答案

$list = array('a','b','c','d','e','f');
$filter_list = "'" . join("', '", $list) . "'";
$query = "select * from test where id=12 and try_col in ($filter_list)";
// select * from test where id=12 and try_col in ('a', 'b', 'c', 'd', 'e', 'f')

请注意,如果您的数组值包含 ',这将失败。这是一个解决方法:

$list = array("a'a",'a\a','b','c','d','e','f');
$temp = array_map("addslashes", $list);
$query = "SELECT * FROM test WHERE id=12 AND try_col in ('" . implode("','", $temp) . "')";
// SELECT * FROM test WHERE id=12 AND try_col in ('a\'a','a\\a','b','c','d','e','f')

关于php - SQL从数组中选择IN子句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7104051/

相关文章:

php - 当页面第一次加载时触发事件,此后没有其他时间

javascript - Node.js API 与 express 和 mysql - WHERE IN 和带有多个逗号分隔值的绑定(bind)参数

sql - 在 PL/pgSQL 中执行此查询的更好方法

Javascript 替换数组中的空格

php - 如何在 PHP 中使用 XMLReader?

javascript - 如何对 AJAX 调用后创建的格式化 HTML 调用 JQuery 操作?

mysql - 何时在MySQL中使用单引号,双引号和反引号

android - Renderscript 多维数组

c++ - 如何使用模板递归检查硬编码 int 数组是否在编译时排序?

php - 从最近的订单日期算起