2012-04-05 8 views
-3

Ich erhalte den Fehler der Ressourcen-ID # 3, wenn ich versuche, den Wert des Spaltenzählers aus der Datenbank herauszuspringen. Ich möchte nur einen einzigen Wert erhalten. Irgendwelche Ideen wie kann ich das tun?mysql Fehler Ressourcen-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

Natürlich sind Sie. Sie haben mysql_fetch_array falsch verwendet. Daher widerspiegelt sich das ** Ergebnis ** der Abfrage nicht, da Ihre '$ views' tatsächlich ein' mysql_query' Aufruf ist. Versuchen Sie, Fehler selbst auszuarbeiten, diese sind wirklich trivial und werden tausende Male beantwortet. php.net sagt dir die Reihenfolge der Funktionsargumente, probiere es aus. –

+0

Sie speichern das Ergebnis von mysql_fetch_array() nicht ... es ist kein Fehler, $ views ist tatsächlich eine mysql-Ressource, da sie als Abfrageergebnis zurückgegeben wird. –

Antwort

1

sollten Sie die result Sie wieder von mysql_fetch_array, wie folgt aus:

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

Warum hast du das var $ Ergebnis und du druckst Ergebnisse? (mit S) – user1200640

+0

nur als ein Beispiel, Print_r ist ein gutes Debugging-Tool, um zu überprüfen, was die Inhalte Ihrer Vars sind. – rednaw

0

Ihr, wenn die Bedingung wie diese

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