CodeIgniter 的 where_in() 方法使用逗号分隔的值字符串找不到匹配项

问题描述 投票:0回答:3

我有以下疑问。

SELECT id FROM content WHERE id IN ('40,41,45')

上面的查询返回

id
40
41
45
的内容。
因此,结果将返回 3 行。

在我的例子中,上一个查询仅返回一行,即具有 id

40
的内容。

为什么不返回具有这些 id 的行?


编辑:
我正在使用

codeigniter
查询。

$this->db->select('*')->where_in('id', $content)->get('content');

因此,查询将是这样的

SELECT * FROM (`content`) WHERE `id` IN ('40,41,45') 

如何从查询中删除单引号?

php codeigniter select query-builder where-in
3个回答
3
投票

试试这个

SELECT id FROM content WHERE id IN (40,41,45);

这里有一些例子你可以看看

http://www.tutorialspoint.com/mysql/mysql-in-clause.htm


2
投票

使用 codeigniter,您的变量

$content
必须是 PHP 数组。


0
投票

你的单引号引起了这个问题。

尝试

SELECT id FROM content WHERE id IN ('40,41,45')
© www.soinside.com 2019 - 2024. All rights reserved.