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

标签 php mysql

第一个查询有效并显示正确的结果。当我添加额外的 AND 条件时,出现“尝试获取非对象的属性”错误。

我可以通过一个 OR 和另一个条件成功执行。

这是回显的查询:

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";

此错误(添加 AND):

$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";

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

关于php - 如何使用 php 和 mysql 执行多个 AND 运算符和 OR 运算符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56817159/

相关文章:

php - Laravel Eloquent 将查询拆分为数组

PHP/MYSQL codeigniter 实时服务器问题

c# - 对数据库的多次访问。如何防止不同的线程修改相同的数据?

php - MySQL 数据库规范化(取自 Excel)

php - 为什么 in_array() 返回意外/奇怪的结果?

php - 一定数量的行后开始不同的计数 - php modulus

php - MySQL 在表之间移动整列

PHP 立即设置格式 YYYY-MM-DD

php - 在 Zend_db_select 中更改表名

php - 检查php中数据库中的日期字段是否过期