php
  • mysql
  • sorting
  • 2010-06-16 4 views 1 likes 
    1

    항목이 "downtown_hosted"인 경우 내 사이트 목록에 쿼리 결과 양식을 호출합니다. 이 잘 작동하지만 지금은 해당 목록을 정렬 할 싶습니다 DESC, 구문을 올바른 것으로 보일 수 없습니다.mysql 쿼리 결과 정렬

    $result_events = mysql_query("SELECT * FROM events 
               WHERE downtown='downtown_hosted' 
               ORDER BY date DESC 
               LIMIT 5 "); 
    
    +1

    그리고 오류/무엇이 잘못됩니까? – MvanGeest

    +0

    문제는 select에서 "ORDER BY date DESC LIMIT 5"가 표시 될 때 이벤트가 표시되지 않는다는 것입니다. 이 호출을 제거하면 항목이 표시되지만 원하는 DESC 순서를 벗어납니다. – pixelJockey

    답변

    6

    당신은 역 따옴표를 가진 단어 "날짜"를 탈출해야합니다 아래

    내가 가진 것입니다.

    예컨대 : 실제로

    $result_events = mysql_query(" 
        SELECT * FROM events 
        WHERE downtown='downtown_hosted' 
        ORDER BY `date` DESC 
        LIMIT 5 
    "); 
    

    항상 역 따옴표로 열을 둘러싸고로 얻을 수있는 나쁜 습관이 아니다, 그래서 당신은 언어 키워드와 충돌에 대해 걱정할 필요가 없습니다.

    +0

    나는 그것이/o backticks 없이도 작동해야하는 선택 사항이라고 생각한다. – Salil

    +2

    @Salil - backticks는 선택 사항이지만 열이 language 키워드와 이름을 공유 할 때는 그렇지 않다. – Matt

    +0

    예 승/동의에 동의하지만 이전에는 언급하지 않았습니다. – Salil

    6

    date은 SQL 키워드입니다. date이라는 열을 가질 수 있지만 참조 할 때마다 식별자 따옴표를 사용해야합니다. MySQL에서 이것은 백틱을 사용하여 수행됩니다 : `date`

    관련 문제