在php

时间:2019-01-11 07:31:26

标签: php mysql implode

我正在编码一个游戏网站。在此站点上,每个问题只能向用户显示一次。问题ID存储在一个字段中:

表中字段的名称: hidden_​​questions

hidden_​​questions值: 1,2,3,17

我正在尝试从数据库获取ID并使用implode函数将其存储在数组中:

$q1= array($data['question_id']);
$q2= implode(',', $q1); // returns 1,2,3,4,5

我想使用以下查询显示不重复的问题:

$sql = "SELECT * FROM question WHERE question_id!=('".$q2."') LIMIT 1";

此代码不起作用,并且会显示带有 hidden_​​questions 字段中存储的ID的问题。请指导我。

1 个答案:

答案 0 :(得分:0)

我看到有人已经对解决方案发表了评论,但我仍然为您写下来。

您的方法正确,我了解您想做什么。但是,MySQL在这种语法中没有类似!=的东西。

也许您可以尝试使用NOT IN

$sql = "SELECT * FROM question WHERE question_id NOT IN (".$b.") LIMIT 1";

此外,为什么还要使用LIMIT 1?根据您的解释,您似乎想显示多个问题。

免责声明:我没有测试代码,也许您需要使用引号。但这应该是解决方案