简单的问题哪里错了?
$result = mysql_query("
SELECT * FROM orders
WHERE Username='$username'
AND completed > ordered
ORDER BY completed ASC
LIMIT 1
") or die(mysql_error());
没有错误也没有数据。
您的查询的语法可能是正确的,但您的算法可能不是:
SELECT * FROM orders
WHERE Username = ?
AND completed > ordered
ORDER BY completed ASC
LIMIT 1
(然后确保绑定查询$username
以减轻 SQL 注入攻击。)
你有一个orders
大概包含...它包含什么的表?它不能是日期戳,因为所有订单都将在下达后完成。
所以它必须是一个INT?并且您想选择那些完成的订单比完成的订单多的人( AND completed > ordered
),这在您的公司可能是不可能的。试试completed < ordered
。
好的,很抱歉打扰大家,但这是一个简单的错字通知“>”,它应该是“<”,因为完成的不能比订购的大,就是这样。
$result = mysql_query("SELECT * FROM orders WHERE Username='$username' AND completed > ordered ORDER BY completed ASC LIMIT 1") or die(mysql_error());