php - 在php中使用数组和内爆函数的自定义查询
问题描述
我正在编写一个游戏网站。在这个网站上,每个问题都应该只向用户显示一次。问题 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";
此代码不起作用,并显示 ID 存储在hidden_questions字段中的问题。请指导我。
解决方案
我看到有人已经写了关于解决方案的评论,但我仍然为你写下来。
你走对了,我明白你想做什么。!=
但是,MySQL在这种语法中没有类似的东西。
也许你可以尝试使用NOT IN
$sql = "SELECT * FROM question WHERE question_id NOT IN (".$b.") LIMIT 1";
另外,你为什么使用LIMIT 1
? 根据您的解释,您似乎想要显示多个问题。
免责声明:我没有测试代码,也许你需要玩一些引号。但这应该是解决方案
推荐阅读
- google-chrome - 浏览器上的迷你播放器,右下角保持静止
- laravel - 从多对多关系中获取过滤数据
- tensorflow - 节点号 X (RESHAPE) 准备失败。使用 tflite v2.2 调整张量大小
- algorithm - 如何为 Dijkstra 算法问题输入这个
- azure-active-directory - 如何在事件网格身份验证 webhook Azure Acitve Directory 中包含角色?
- c# - 如何使我在 Program.cs 中读取的天蓝色机密对控制器可用?
- c# - 使用模板列从数据网格中获取选定的单元格
- python - 如何从 url 列表中查找有多少 url 正在工作
- python - 将数据类型从对象转换为整数
- angular - Angular2+ (9) 内容安全策略 - 如何解决不安全的内联样式?