SQL查询在第三个AND附近出现问题

3
我找不到为什么我的Sublime代码没有被接受。以下是它的外观:enter image description here。如您所见,“第三个AND”正在失去意义,我认为它不起作用。如何解决这个问题?以下是完整的查询:
$number = mysql_query("SELECT COUNT(*), task_type FROM dotp_tasks WHERE (task_type = '$key') AND (task_project in (". join(',',$with_type) .")) AND (task_id in (" . join(',',$UsrTasks) . "))");

1
我数了比开括号多的闭括号。虽然,既然它们都是AND,我不确定为什么你需要任何括号。 - Strawberry
@Strawberry,你在图片里数了吗?因为完整的代码在图片下面。 - McLaren
此外,您似乎缺少一个GROUP BY子句,或者说SELECT子句中的task_type列是多余的,因为我们已经知道task_type是什么。 - Strawberry
如果问题是高亮显示,就更换你的IDE。 - Marcos Pérez Gude
1个回答

1
假设$UsrTasks包含整数,$with_type包含字符串,您需要添加适当的'。在这种情况下不需要所有的()。查询应该是 -
"SELECT COUNT(*), task_type 
FROM dotp_tasks 
WHERE task_type = '$key' 
AND task_project in ('". join("','", $with_type) ."')
AND task_id in (" . join(',',$UsrTasks) . ")"

请解释为什么要删除括号,并说明它对查询产生的影响。 - Pratik Joshi
在 PHP 中打印查询,然后进行检查。 - Sougata Bose

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接