2013-12-15 3 views
0

name, desc, user의 세 행을 가진 파일에 대한 테이블이 있습니다.PHP 기반 웹 사이트의 SQL 쿼리

이름은 파일의 이름입니다 (예 : cert1.pdf ). 설명은 파일에 대한 설명입니다. 예 : 올해의 첫 시험. 사용자는 파일을 서버에 업로드 한 사용자의 이름입니다 (예 : John Doe).

이제 cert1.pdf의 이름과 설명을 검색하고 싶습니다.

$sql = "SELECT desc, user 
    FROM files AS f 
    WHERE f.name = 'cert1.pdf'"; 

    $result = mysql_query($sql); 
    if (!$result) { 
     die('Error: ' . mysql_error()); 
    } 

정말 멍청한 짓해야합니다,하지만 난이 오류 메시지가 가진 유지 : 그래서 이것은 내가 가진 무엇 당신은 당신의 SQL 구문에 오류가

을; 올바른 구문은 근처에서 사용하는 는 MySQL 서버 버전에 해당하는 설명서를 확인하십시오 'F AS 파일에서 내림차순, 사용자 WHERE f.name ='cert1.pdf ''라인 1

어떤 생각 중 여기서 내가 뭘 잘못하고 있니? 미리 감사드립니다.

답변

2

DESC는 예약어 (`)를 ~ 대신 내림차순의 사용자가 될 수 예약어와 동일한 키가 너무

SELECT `desc`,`user` 
+0

잘 찾아 냈습니다. 나는 컬럼 예약어를 모두 호출하는 것을 피할 것이다. – Popnoodles

+0

popnoodles 의견에 표시하기 위해 어떻게 다시 틱을 얻었습니까? –

+0

테스트 주석 \'desc \' –

2

가 표시하려면하려고 틱 안에 다시 내림차순 퍼팅 시도이다 backticks로 "desc"를 탈출 한 Tin Tran의 대답의 예.

$sql = "SELECT `desc`, `user` 
    FROM files AS f 
    WHERE f.name = 'cert1.pdf'"; 

    $result = mysql_query($sql); 
    if (!$result) { 
     die('Error: ' . mysql_error()); 
    }