在 php 中使用数组和内爆函数的自定义查询
Custom queries using arrays and implode function in php
我正在编写一个游戏网站。在这个站点上,每个问题都应该只向用户显示一次。问题 ID 存储在一个字段中:
table 中的字段名称: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
?根据您的解释,您似乎想要显示多个问题。
免责声明:我没有测试代码,也许你需要玩一些引号。但这应该是解决方案
我正在编写一个游戏网站。在这个站点上,每个问题都应该只向用户显示一次。问题 ID 存储在一个字段中:
table 中的字段名称: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
?根据您的解释,您似乎想要显示多个问题。
免责声明:我没有测试代码,也许你需要玩一些引号。但这应该是解决方案