如何使用php和mysql执行多个AND运算符和OR运算符?

如何使用php和mysql执行多个AND运算符和OR运算符?,php,mysql,Php,Mysql,第一个查询工作并显示正确的结果。当我添加一个附加的AND条件时,我得到一个尝试获取非对象错误属性的结果 我可以在一个或另一个条件下成功执行 以下是回应的查询: SELECT * FROM scores WHERE (sortDate <= 20190629 AND sport = football) AND (homeID = 4 OR awayID = 4) ORDER BY gameDate DESC 我确信变量正在通过 这个很好用: $sql = "SELECT

第一个查询工作并显示正确的结果。当我添加一个附加的AND条件时,我得到一个尝试获取非对象错误属性的结果

我可以在一个或另一个条件下成功执行

以下是回应的查询:

SELECT * FROM scores 
WHERE (sortDate <= 20190629 AND sport = football) 
       AND (homeID = 4 OR awayID = 4) 
ORDER BY gameDate DESC
我确信变量正在通过

这个很好用:

$sql = "SELECT * FROM scores 
WHERE sortDate <= $today
AND (homeID = $teamID OR awayID = $teamID)
ORDER BY gameDate DESC";
这一条给出了一个添加的错误,并且:

$sql = "SELECT * FROM scores 
WHERE (sortDate <= $today AND sport = $sportID)
AND (homeID = $teamID OR awayID = $teamID)
ORDER BY gameDate DESC";
试试这个


运动是一根绳子。您应该这样做:和sport='$sportID'`$sql=SELECT*从排序日期起作用的分数!!非常感谢你。你能告诉我你所说的运动是什么意思吗?第一个是用单引号写的谢谢!。它为什么起作用?其他的都没有单引号。有人说体育是一根绳子这意味着什么?它对你很有用。点击答案。它之所以有效,是因为$sportID是一组字符串,就像足球一样。最好使用预先准备好的语句。引用的所有问题都消失了。
$sql = "SELECT * FROM scores 
WHERE (sortDate <= $today AND sport = '$sportID')
AND (homeID = $teamID OR awayID = $teamID)
ORDER BY gameDate DESC";
$sql = "SELECT * FROM scores 
WHERE (sortDate <= $today) AND (sport = $sportID)
AND (homeID = $teamID OR awayID = $teamID)
ORDER BY gameDate DESC";