2012-03-25 2 views
0

나는 파일 이름과 연결된 테이블에 ID를 저장하는 프로젝트에서 일하고있다. id를 요청하면 SQL은 파일 이름을 반환합니다. 그래, Redis는 이런 종류의 일에 가장 좋겠지 만 PHP로 어떻게 작동하는지 알지 못합니다.PHP가 SQL과 작동하지 않습니다. 빈 결과

은 어쨌든, 다음 코드는 빈 결과를 반환 : 나는 페이지가 존재 요청할 때 내가 사용 키를 알고

<?php 
    mysql_connect("localhost","USER","PASSWORD") or die("Unable to connect to SQL server");                            
    mysql_select_db("DATABASE") or die("Unable to select the database"); 
    $scaped = mysql_real_escape_string($_GET["id"]); 
    $res = mysql_query("SELECT fn from links WHERE id=$scaped"); 
    mysql_close(); 
    echo $res; 

?> 

을,하지만 난 빈 결과없이 오류가 발생합니다. 무슨 일이야?

편집 : 내가 얻을 :

Unknown column 'rytughguyig78iu786546789' in 'where clause' 

을 긴 문자열 내 ID입니다. 내 where 절은있는 그대로입니다. 거기 뭐가 잘못 됐어?

+0

mysql_close(); 줄 앞에'echo mysql_error();를 추가하십시오. 무슨 일이야? –

+0

@ tpaksu, 아직 전체가 아무것도 없어. – tekknolagi

+0

기다려. 무언가가있다. 단지 어리 석을 수 있습니다. 잠깐만. – tekknolagi

답변

3

라인 변경

$res = mysql_query("SELECT fn from links WHERE id=$scaped"); 

$res = mysql_query("SELECT fn from links WHERE id='".$scaped."' limit 0,1"); 

및 기록 밖으로 인쇄하여 :

$result = mysql_fetch_row($res); 
print_r($result); 
+0

fetch_assoc 비트를 포함하면 받아 들일 것이지만 해결 된 두 가지 답변의 조합이었습니다. – tekknolagi

+0

그건 당신의 오류와 관련이 없지만 어쨌든. 나는 그것을 새롭게했다. –

1

mysql_result는 일종의 결과 집합 개체를 반환합니다. 그래서 당신이해야합니다 : 1.) 결과 집합 개체가 레코드를 확인하십시오 2. 결과 집합에서 결과 레코드 가져 오기 3.) 인쇄하십시오.

샘플 같은 :

$res = mysql_query("SELECT fn from links WHERE id='$scaped'"); 
if(mysql_num_rows($res) >0){ 
    $record = mysql_fetch_assoc($res); //other options: mysql_fetch_object, mysql_fetch_row 
    print $record['fn']; 
} 

링크 : mysql_num_rows, mysql_fetch_assoc, mysql_fetch_object, mysql_fetch_row

대답이 오류 메시지 후 업데이트 : 변경 $는 문자열을 비교 한 위해 'scaped $'에 scaped

+0

id = '$ scaped''가 필요하다면 다른 방법으로 id를 다른 열과 비교하려고 시도하기 때문에 여전히이 방법이 잘못 될 것입니다 – csteifel

+0

@legion : 나는 인정합니다. $ scaped는 작은 따옴표로 인코딩해야합니다. id의 데이터 유형은 string이지만 op는 id의 데이터에 대해 언급하지 않았으므로 정수로 간주했습니다. – KoolKabin

1

변경을

"SELECT fn from links WHERE id=$scaped"

"SELECT fn from links WHERE id='$scaped'"

관련 문제