2012-04-05 7 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'呼び出しであるため、クエリの** result **をエコーし​​ていません。あなた自身でエラーを解決しようとすると、これらは本当に簡単で何千もの回答があります。 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を実行し、結果を出力していますか? (S付き) – user1200640

+0

例としてprint_rは、あなたのバールの内容が何であるかを調べるのに適したデバッグツールです。 – rednaw

0

あなたの状態はあなたがもちろんこの

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