IN子句无法正常工作。

时间:2014-03-31 09:14:06

标签: php mysql database codeigniter

我有以下查询。

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

上面的查询会返回id 404145的内容。
因此,结果将返回3行。

就我而言,上一个查询只返回一行,即id为40的内容。

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


修改
我正在使用codeigniter查询。

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

因此,查询将是这样的

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

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

3 个答案:

答案 0 :(得分:3)

试试这个

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

以下是您可以查看的一些示例

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

答案 1 :(得分:2)

使用codeigniter,变量$content必须是PHP数组。

答案 2 :(得分:0)

你的包装单引号会造成这个问题。

尝试

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