根据数组值选择行
问题描述:
我有一个由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) . ')';
但它似乎并不适合我。我还有什么其他选择?
答
你需要这样的事:
$query = "SELECT game_id,thumb,title,rating,instructions FROM games WHERE game_id IN ('" . implode("','", $favGames) ."')";
如果你没有多余的单引号在调用破灭,您的查询看起来像:
SELECT game_id,拇指,标题,等级,说明 从游戏中game_id IN ( '111,110')
注意缺失的引号?那是什么导致你的错误。
答
在你的第二个表达式中,$ ids是不是$ favGames?并且都是ids数字吗?如果不是,那么你需要添加'围绕元素,就像在你的初始查询
您是否将示例中的$ id更改为$ favGames? – 2011-02-17 19:55:37
@哈珀谢尔比yes – Sotiris 2011-02-17 19:55:56