2012-04-05 4 views
-3

데이터베이스에서 열 카운터 값을 에코하려고 할 때 Resource id # 3 오류가 발생합니다. 나는 하나의 가치만을 원한다. 어떤 생각을 어떻게 할 수 있습니까?mysql 오류 리소스 ID # 3?

$Page = $_SERVER['PHP_SELF']; 
$num = preg_replace("/[^0-9]/", '', $Page); 


$query = "SELECT * FROM hitscounter WHERE page='$num';"; 
$res = mysql_query($query); 
if (mysql_num_rows($res) > 0) { 

mysql_query("UPDATE hitscounter SET counter=counter+1 Where page='$num'"); 
$views = mysql_query("SELECT counter FROM hitscounter WHERE page=555"); 
    mysql_fetch_array($views, MYSQL_NUM); 
    mysql_free_result($views); 
    echo $views; 
} 
+1

같아야합니다. mysql_fetch_array를 잘못 사용했다. 그러므로'$ views'가 실제로'mysql_query' 호출이기 때문에 쿼리의 ** 결과 **를 반향하지 않습니다. 혼자서 오류를 해결해보십시오.이 오류는 실제로 사소하고 수천 회에 이릅니다. php.net은 함수 인자의 순서를 알려주고 체크 아웃한다. –

+0

당신은 mysql_fetch_array()의 결과를 저장하지 않는다 ... 그것은 오류가 아니다. $ views은 쿼리 결과로 반환되기 때문에 실제로는 mysql 리소스이다. –

답변

1

당신은 사용해야 result 그냥 같이 다시 mysql_fetch_array에서 얻을 :

$result = mysql_fetch_array($views, MYSQL_NUM); 
print_r($result); 
+0

왜 var $ result를 사용하고 결과를 인쇄합니까? (with S) – user1200640

+0

예를 들어, print_r은 vars의 내용을 확인하는 데 유용한 디버깅 도구입니다. – rednaw

0

귀하의 조건이 당신이 물론이

$result = mysql_fetch_array($res); 
if (count($result) > 0){ 
echo 'do something'; 
}