【发布时间】:2012-08-08 09:38:00
【问题描述】:
请问有人知道这个查询是怎么回事吗?我想要做的是如果elective_modules 表中的courseID 在group_elective_modules 表中不存在,然后在group_elective_modules 中打印所有退出。但我不断收到错误Operand should contain 1 column(s)
这是我的查询
$alternativeEQuery =
"SELECT elective_modules.courseID,elective_modules.yr
FROM elective_modules
WHERE elective_modules.yr = '$year1'
AND elective_modules.courseID
NOT IN
(SELECT group_elective_modules.moduleID,group_elective_modules.courseName
FROM group_elective_modules
WHERE group_elective_modules.courseName = '$courseTitle'
AND elective_modules.courseID = group_elective_modules.moduleID)";
$alternativeEResult = mysql_query($alternativeEQuery) or die($alternativeEQuery."<br/><br/>".mysql_error());
【问题讨论】:
-
您有可能受到 SQL 注入攻击。
-
@Joe.我在将它们作为参数传递之前已经转义了上面代码的所有变量!谢谢
-
如果您使用子查询来提供值,
IN()运算符需要 1 列。您不能选择超过 1 列。如果你仔细想想,这也是合乎逻辑的。 -
@N.B.Thanks,当您提到 IN 运算符时,这确实是有道理的。谢谢!!
标签: php mysql mysql-error-1241