根据数组值选择行

时间:2011-02-17 19:53:11

标签: php mysql arrays

我有一个由cookie填充的数组。长度每次都不同。包含的值是我想从数据库中选择的ID。我知道我可以使用类似下面的内容来检索具有特定ID的多行:

$query = "SELECT game_id,thumb,title,rating,instructions FROM games WHERE game_id IN ('111','110')";

我的问题是,如何从数据库中检索数组$favGames的ID?我在另一个问题中发现了以下内容:WHERE id IN (' . implode(',', $ids) . ')';但它似乎对我不起作用。我还有其他选择吗?

2 个答案:

答案 0 :(得分:1)

你需要这样的东西:

$query = "SELECT game_id,thumb,title,rating,instructions FROM games WHERE game_id IN ('" . implode("','", $favGames) ."')";

如果您在内爆调用中没有额外的单引号,则查询将如下所示:

  

选择   game_id,拇指,标题,等级,说明   来自游戏WHERE game_id IN   ( '111110')

注意缺少的引号?这就是造成你错误的原因。

答案 1 :(得分:0)

你的第二个表达中不应该$ ids是$ favGames吗?并且所有ID都是数字的吗?如果不是,则需要在元素周围添加'',就像在初始查询中一样