Php MySQL何处没有';我不能正常工作
我有一个category.php页面,显示给定类别($tagname)中的所有文章,其中enabled=1。当一篇文章只有一个标签(和两个空标签)时,一切都很好。本文将显示在此category.php页面上(启用时设置为1)。但是,如果至少填充了两个标记,则文章将显示在category.php页面上,其中tag2=$tagname或tag3=$tagname-无论启用字段包含什么(1表示启用,2表示禁用) 底线-为什么即使该文章的enabled设置为2,它也会显示Php MySQL何处没有';我不能正常工作,php,mysql,select,Php,Mysql,Select,我有一个category.php页面,显示给定类别($tagname)中的所有文章,其中enabled=1。当一篇文章只有一个标签(和两个空标签)时,一切都很好。本文将显示在此category.php页面上(启用时设置为1)。但是,如果至少填充了两个标记,则文章将显示在category.php页面上,其中tag2=$tagname或tag3=$tagname-无论启用字段包含什么(1表示启用,2表示禁用) 底线-为什么即使该文章的enabled设置为2,它也会显示 SELECT * FROM a
SELECT *
FROM articles
WHERE enabled=1
AND tag1='$tagname'
OR tag2='$tagname'
OR tag3='$tagname'
enabled, int
tag1, varchar(30)
tag2, varchar(30)
tag3, varchar(30)
谢谢 试试这个:
SELECT *
FROM articles
WHERE enabled=1
AND (tag1='$tagname'
OR tag2='$tagname'
OR tag3='$tagname')
试试这个:
SELECT *
FROM articles
WHERE enabled=1
AND (tag1='$tagname'
OR tag2='$tagname'
OR tag3='$tagname')
使用此查询
SELECT *
FROM articles
WHERE enabled=1
AND (tag1='$tagname'
OR tag2='$tagname'
OR tag3='$tagname')
使用此查询
SELECT *
FROM articles
WHERE enabled=1
AND (tag1='$tagname'
OR tag2='$tagname'
OR tag3='$tagname')
试着把你的情况分开
SELECT *
FROM articles
WHERE enabled=1
AND (tag1='$tagname'
OR tag2='$tagname'
OR tag3='$tagname')
因此,现在将是check result where enabled=1和任何标记结果true from 3尝试分离您的条件
SELECT *
FROM articles
WHERE enabled=1
AND (tag1='$tagname'
OR tag2='$tagname'
OR tag3='$tagname')
因此,现在它将是check result,其中enabled=1,并且从3开始的任何标记结果都具有比
或更高的优先级,因此在您的查询中
首先计算enabled=1和tag1='$tagname'
,然后计算
将其结果与next或表达式等进行比较…
除非正确地将和
条件与或
条件分开,否则输出将是意外的
更改您的查询,如下所示:
SELECT * FROM articles
WHERE enabled=1
AND (tag1='$tagname' OR tag2='$tagname' OR tag3='$tagname')
请参考:和
优先于
或
,因此在您的查询中
首先计算enabled=1和tag1='$tagname'
,然后计算
将其结果与next或表达式等进行比较…
除非正确地将和
条件与或
条件分开,否则输出将是意外的
更改您的查询,如下所示:
SELECT * FROM articles
WHERE enabled=1
AND (tag1='$tagname' OR tag2='$tagname' OR tag3='$tagname')
请参阅:谢谢您的帮助!它现在可以正常工作了!:)(tag1='$tagname'或tag2='$tagname'或tag3='$tagname')感谢您的帮助!它现在可以正常工作了!:)(tag1='$tagname'或tag2='$tagname'或tag3='$tagname')