将数组转换为 WHERE IN mysql 子句的格式

Posted

技术标签:

【中文标题】将数组转换为 WHERE IN mysql 子句的格式【英文标题】:Convert an array into format for an WHERE IN mysql clause 【发布时间】:2015-03-20 03:50:27 【问题描述】:

我有一个包含 字符串

的数组

例如数组('14183f6c-9bf5', '074306fb-6eaf')

我想将其转换为带有 IN 语句的 mysql 查询可读的格式,但我一直遇到问题,因为它是一个字符串..

基本上在我的 sql 查询中将其格式化 - 我正在使用 implode 但无济于事.. 任何想法

引导输入(“14183f6c-9bf5”、“074306fb-6eaf”)

$Guids = array('14183f6c-9bf5', '074306fb-6eaf');
$csv = implode('",', $Guids);

【问题讨论】:

Implode 应该做的很好,为什么这不起作用? " 我正在使用 implode 但无济于事.. 任何想法" 向我们展示代码。 $Guids = array('14183f6c-9bf5', '074306fb-6eaf'); $csv = implode('",', $Guids); 下面试试我的答案 ***.com/questions/907806/… 【参考方案1】:

试试这样的

$whereIn = implode('","', $array); $sql = 'SELECT * FROM table WHERE col IN ("'.$whereIn.'")';

【讨论】:

【参考方案2】:

试试这个:

$whereIn = '("' . implode('","', $array) . '")';

【讨论】:

以上是关于将数组转换为 WHERE IN mysql 子句的格式的主要内容,如果未能解决你的问题,请参考以下文章

通过 FMDB 将数组传递给 sqlite WHERE IN 子句?

将 IN() 用于数组的 PL/SQL where 子句

将字符串数组转换为WHERE子句中的自定义枚举类型

6.11 将分割数据转换为多值IN列表

MySQL:在 WHERE 子句中带有 NOT IN 的从属子查询非常慢

MySQL Select 语句,WHERE 'IN' 子句