我有这个
$sql = 'SELECT * FROM tb_event WHERE DATE(edate) >= DATE(NOW())';
$result = $conn->query($sql) or die(mysqli_error());
$news = $result->fetch_assoc();
运行正常 但是当我把它改成这个
时$sql = 'SELECT * FROM tb_event WHERE DATE(edate) >= DATE(NOW() LIMIT 2)';
我收到此错误消息
Warning: mysqli_error() expects exactly 1 parameter, 0 given in /var/www/.../...php
最后我想将它与order by结合起来 就像这样
$sql = 'SELECT * FROM tb_event WHERE DATE(edate) >= DATE(NOW() LIMIT 2 ORDER BY DESC)';
我做错了什么?
答案 0 :(得分:4)
您需要将限制子句拉出DATE()宏。
SELECT * FROM tb_event WHERE DATE(edate) >= DATE(NOW()) LIMIT 2
此外,如果您想订购,您必须设置一个字段,例如
SELECT * FROM tb_event WHERE DATE(edate) >= DATE(NOW()) LIMIT 2 ORDER BY myField DESC
答案 1 :(得分:2)
$sql = 'SELECT * FROM tb_event WHERE DATE(edate) >= DATE(NOW()) ORDER BY edate DESC LIMIT 2';
请注意,您获得的实际错误在于您在错误处理代码中调用mysqli_error
的方式。解决这个问题。