我有MySQL查询,例如:
select barno, case_number
from barno_cases
where case_number IN
(select case_number
from barno_cases
where filed BETWEEN "1963-01-01" AND "2014-12-09"
AND section="5"
)
Group by barno, case_number Order by barno"
它给出错误:"#2014 - 命令不同步;您现在无法运行此命令"我不知道出了什么问题。
任何想法。提前谢谢。
你不能同时有两个查询,因为 mysqli 默认使用无缓冲查询(对于预准备语句;对于原版mysql_query
则相反)。您可以将第一个提取到数组中并循环访问该数组,也可以告诉 mysqli 缓冲查询(using $stmt->store_result()
)。
详情请看这里。
即使查询有效,构建它也是非常愚蠢的。考虑:
select DISTINCT barno, case_number
from barno_cases
where filed BETWEEN '1963-01-01' AND '2014-12-09'
AND section='5'
Order by barno
(顺便说一句:"GROUP BY 也非常低效,并且您错误地引用了谓词中的值)