我在使用 SELECT 查询时遇到了一些困难,这应该很容易。这是简化的背景:
我的数据库中有两个表。一个名为 TABLE1 的表包含三个字段:[QuestionID]、[Question]、[Answer]。第二个表名为 TABLE2,包含两个字段:[UserID] 和 [QuestionID]。
基本上,页面的功能是当用户正确回答问题时,用户名和问题 ID 将插入到 TABLE2 中。TABLE2 将用于从页面中省略已回答的问题,以便用户只能回答尚未回答的问题。
因此,SELECT 查询应该通过“显示TABLE1中不在 TABLE2中的所有问题”来工作。这听起来很容易,但我无法弄清楚。
这是我的查询:
$answered = mysql_query("SELECT QuestionID FROM TABLE2 WHERE Username='TESTING'");
while ($answered1 = mysql_fetch_array($answered))
{
$QuestionsToDisplay = mysql_query("SELECT * FROM TABLE1 WHERE 'QuestionID' NOT IN ('$answered1')");
}
}
我也试过:
$QuestionsToDisplay = mysql_query("SELECT * FROM TABLE1 WHERE 'QuestionID' !='$answered1'");
两个实例在应该显示 4 时都显示一个结果。
我将第一个查询放在“while”语句中,因为它返回了正确的数据(我在 TABLE2 中有两个条目用于测试目的,这就是 echo 语句显示的内容)。
所以知道我做错了什么吗?
谢谢!!