Weil Sie eine mysql-Ressource erhalten, wenn Sie eine mysql_query()
.
Verwenden Sie etwas wie mysql_fetch_assoc()
, um die nächste Zeile zu erhalten. Es gibt ein Array mit den Spaltennamen als Indizes zurück. In deinem Fall ist es wahrscheinlich COUNT(*)
.
Hier ist eine Fehlerbehebung und einige kleinere Verbesserungen Ihres Snippets:
%Vor%Wenn Sie alle Zeilen des Resultsets abrufen müssen, verwenden Sie dieses Snippet:
%Vor%In PHP werden Ressourcen von bestimmten Funktionen zurückgegeben, damit sie an andere weitergegeben werden können verwandte Funktionen. Beispiele hierfür sind Datenbankverbindungen, Datenbankabfrageergebnisse, Dateihandles usw.
Laut der Dokumentation zu mysql_query()
gibt eine SELECT-Abfrage eine Ressource zurück. Sie können diese Ressource verwenden und an eine Reihe verschiedener Funktionen übergeben. Um die Anzahl der Zeilen abzurufen, können Sie mysql_num_rows()
verwenden, um die Anzahl der Zeilen abzurufen Ergebnisse der Abfrage können Sie entweder mysql_fetch_array()
, mysql_fetch_assoc()
oder mysql_fetch_object()
.
Ein normales Muster für den Umgang mit Datenbankergebnissen sieht ungefähr so aus:
%Vor%Aus Ihrem obigen Beispiel:
%Vor% mysql_query()
gibt keinen Wert zurück, es gibt eine Ressource zurück (siehe hier im Handbuch).
Die zurückgegebene Ergebnisressource sollte an eine andere Funktion übergeben werden, die sich mit Ergebnistabellen befasst (wie ) mysql_fetch_array () oder mysql_fetch_assoc () ), um auf die gab Daten zurück.
Beispiel basierend auf Ihrem ursprünglichen Code:
%Vor%Direkt von PHP.net .......
"Für SELECT, SHOW, DESCRIBE, EXPLAIN und andere Anweisungen, die resultset zurückgeben, gibt mysql_query () eine Ressource bei Erfolg oder FALSE bei Fehler zurück."
Aus der Dokumentation zu mysql_query :
Für SELECT, SHOW, BESCHREIBEN, EXPLAIN und andere Anweisungen zurückgeben resultset, mysql_query () gibt a zurück Ressource bei Erfolg oder FALSE an Fehler.