Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 来自具有LIKE子句的类别的MySQL请求_Php_Mysql_Sql - Fatal编程技术网

Php 来自具有LIKE子句的类别的MySQL请求

Php 来自具有LIKE子句的类别的MySQL请求,php,mysql,sql,Php,Mysql,Sql,下面我有一个MySQL查询。Myq.catid=13(category\u id)但此查询返回其他类别的结果。我的错在哪里 SELECT q.*, u.name, u.username, u.email, c.title AS category_name, COUNT(a.id) AS answers FROM `#__questions` AS q LEFT JOIN `#__answers` AS a ON a.question_id = q.id LEFT JOIN `#__user

下面我有一个MySQL查询。My
q.catid=13
category\u id
)但此查询返回其他类别的结果。我的错在哪里

SELECT q.*, u.name, u.username, u.email, c.title AS category_name, COUNT(a.id) AS answers 
FROM `#__questions` AS q 
LEFT JOIN `#__answers` AS a ON a.question_id = q.id 
LEFT JOIN `#__users` AS u ON q.created_by = u.id 
LEFT JOIN `#__categories` AS c ON q.catid = c.id    
WHERE 1=1 
AND q.catid = 13 
AND q.title LIKE "%3%" 
OR q.introtext LIKE "%3%" 
GROUP BY q.id 
ORDER BY q.created DESC

因为
绑定比
强。它被称为运算符优先级

使用括号

WHERE 1=1 
AND q.catid = 13 
AND (q.title LIKE "%3%" OR q.introtext LIKE "%3%")
不带括号,查询当前解析为

WHERE (1=1 AND q.catid = 13 AND q.title LIKE "%3%")
OR q.introtext LIKE "%3%" 

因为
绑定比
强。它被称为运算符优先级

使用括号

WHERE 1=1 
AND q.catid = 13 
AND (q.title LIKE "%3%" OR q.introtext LIKE "%3%")
不带括号,查询当前解析为

WHERE (1=1 AND q.catid = 13 AND q.title LIKE "%3%")
OR q.introtext LIKE "%3%" 

为什么使用
WHERE 1=1
?@Havenard,这是查询生成器中的一种常见构造-这意味着附加子句的前缀总是
.OP,如果您可以在不使用标记设备(即条形图)的情况下编写问题标题,这将非常有用。这已经在Meta上进行了广泛的讨论,社区更喜欢没有标题的标题。如果你能像普通英语一样理解这个单词,或者把它作为一个问题来回答,那么在这里效果最好。谢谢为什么使用
WHERE 1=1
?@Havenard,这是查询生成器中的一种常见构造-这意味着附加子句的前缀总是
.OP,如果您可以在不使用标记设备(即条形图)的情况下编写问题标题,这将非常有用。这已经在Meta上进行了广泛的讨论,社区更喜欢没有标题的标题。如果你能像普通英语一样理解这个单词,或者把它作为一个问题来回答,那么在这里效果最好。谢谢