2012-04-05 117 views
-3

當我試圖從數據庫中回顯列計數器的值時,我收到資源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告訴你函數參數的順序,檢查出來。 – 2012-04-05 10:11:32

+0

您不存儲mysql_fetch_array()的結果...它不是錯誤,$ views實際上是一個mysql資源,因爲它作爲查詢結果返回。 – 2012-04-05 10:13:12

回答

1

你應該使用result你從mysql_fetch_array回來,就像這樣:

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

爲什麼你var $結果,你打印結果? (以S) – user1200640 2012-04-05 10:40:57

+0

就是一個例子,print_r是一個很好的調試工具來檢查你的變量的內容是什麼。 – rednaw 2012-04-05 15:19:40

0

你如果條件應該是這樣的

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