Warum gibt das die Ressourcen-ID # 2 zurück? [Duplikat]

8

Ich bin neu bei PHP und SQL und ich versuche, die PHP-Seite die Nummern von Enries in der Tabelle aufzuführen. Ich benutze diesen Code, aber es gibt Resource ID # 2:

zurück %Vor%     
Charkel 25.01.2011, 14:55
quelle

7 Antworten

17

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%     
svens 25.01.2011, 14:58
quelle
3

Versuchen Sie Folgendes:

%Vor%     
Pekkasso 25.01.2011 15:05
quelle
3

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%     
Dominic Barnes 25.01.2011 15:06
quelle
2

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%     
Bjoern 25.01.2011 15:02
quelle
1

mysql_query gibt ein Ressourcenobjekt zurück. Sie müssen zuerst Zeilen davon abrufen ( mysql_fetch_row ).

    
mingos 25.01.2011 14:58
quelle
1

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."

    
MidnightAnarchst 25.01.2011 14:58
quelle
1

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.

    
Joe Stefanelli 25.01.2011 14:59
quelle

Tags und Links