我正在编码一个游戏网站。在此站点上,每个问题只能向用户显示一次。问题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的问题。请指导我。
答案 0 :(得分:0)
我看到有人已经对解决方案发表了评论,但我仍然为您写下来。
您的方法正确,我了解您想做什么。但是,MySQL在这种语法中没有类似!=
的东西。
也许您可以尝试使用NOT IN
$sql = "SELECT * FROM question WHERE question_id NOT IN (".$b.") LIMIT 1";
此外,为什么还要使用LIMIT 1
?根据您的解释,您似乎想显示多个问题。
免责声明:我没有测试代码,也许您需要使用引号。但这应该是解决方案