2011-01-20 6 views
3

나는이MYSQL, WHERE/LIMIT의 조합/ORDERBY

$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 

마침내 주문을 과 같이 주문하고 싶습니다.

$sql = 'SELECT * FROM tb_event WHERE DATE(edate) >= DATE(NOW() LIMIT 2 ORDER BY DESC)'; 

내가 뭘 잘못하고 있니? 당신이 얻을 실제 오류가 오류 처리 코드에 mysqli_error를 호출하는 방법에 있음을

답변

3

DATE() 매크로에서 limit 절을 추출해야합니다. 당신이 주문하고 싶은 경우

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 
2
$sql = 'SELECT * FROM tb_event WHERE DATE(edate) >= DATE(NOW()) ORDER BY edate DESC LIMIT 2'; 

참고. 이 문제도 해결하십시오.

+0

일처럼 필드를 설정해야 – EaterOfCode