[PHP + MySQL] Fehler bei der Ausgabe des Arrays

ElGecko

Ensign
Registriert
Aug. 2004
Beiträge
143
Hallo,

will in meiner Datenbank mittels eines PHP-Scriptes eine Abfrage gestalten:

$sql="SELECT count(Gelesen) FROM danielg WHERE Gelesen=0";
$ergebnis=mysql_query($sql);
$array=mysql_fetch_array($ergebnis);
$gesamtanzahl=$array['Gelesen'];
echo $gesamtanzahl;

So sieht die Abfrage in dem Script aus. Die Verbindung zur Datenbank wurde natürlich schon vorher hergestellt, dies habe ich auch überprüft.

Nun mein Problem. Jedes mal, wenn ich das Script aufrufe, kommt folgende Fehlermeldung:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\...\xampp\htdocs\xampp\...\intern.php on line 96

Ich habe schon so ziemlich alles ausprobiert, aber weiss nicht weiter. Vielleicht könnt ihr mir ja helfen.
THX!!

Greetz, Gecko
 
Hallo,

Wozu willst du eigentlich ein Array erstellen oder welche Werte soll dieses beinhalten?
Oder willst du einfach nur die entsprechenden betroffenen Datensätze zählen?

MfG mh1001
 
Hm, stimmt, gute Frage. Eigentlich will ich nur die Datensätze zählen, bei denen der Wert Gelesen gleich "0" ist. Aber leider will die Abfrage nicht so, wie ich will :(
Wie würdest du die Abfrage bewerkstelligen???

Greetz, Gecko
 
Hi,
die Anfrage ist OK. Mglw. wird beim Abfragen nicht die richtige Verbindung genutzt (sollte eigentlich gehen). Du kannst aber bei mysql_query() die ID, die du von der Verbindung bekommst, mit angeben. Guck mal hier.
(Außerdem benutzt du meiner Meinung nach das Array nicht richtig. Der verwendete Name müßte "count(Gelesen)" sein. Das hat aber mit dem Problem nichts zu tun...)

Gruß, Gobble-G


Edit: Es sieht ja so aus, als würde mysql_query() scheitern. Guck' doch mal, ob du direkt danach einen Fehler mit mysql_error() auslesen kannst.
 
Zuletzt bearbeitet:
ElGecko schrieb:
Hm, stimmt, gute Frage. Eigentlich will ich nur die Datensätze zählen, bei denen der Wert Gelesen gleich "0" ist. Aber leider will die Abfrage nicht so, wie ich will :(
Wie würdest du die Abfrage bewerkstelligen???

Greetz, Gecko
Wenn es nur dies ist dann mach es dir doch nicht so umständlich. ;)

PHP:
 $abfrage = mysql_query("SELECT COUNT(*) AS zaehler FROM danielg WHERE Gelesen = 0");
$anzahl = mysql_result($zaehler, 0, 'zaehler');
echo $anzahl;
MfG mh1001
 
Zuletzt bearbeitet:
So, also ich hab jetzt mal den Code von mh1001 eingefügt, im Zusammenhang mit dem Befehl zum Fehler auslesen, also:

$abfrage = mysql_query("SELECT COUNT(*) AS zaehler FROM danielg WHERE Gelesen = 0");
$anzahl = mysql_result($zaehler, 0, 'zaehler');
echo $anzahl;
echo mysql_errno() . ": " . mysql_error() . "\n";

Leider endet das Script aber mit der Ausschrift:

Warning: mysql_result(): supplied argument is not a valid MySQL result resource in C:\...\xampp\htdocs\xampp\...\intern.php on line 95

Trotzdem erstmal THX

Greetz, Gecko
 
PHP:
$query = "SELECT COUNT(*) AS count FROM danielg WHERE Gelesen = 0";

$res = mysql_query($query);

$row = mysql_fetch_array($res);

echo $row[count];

Wie isses damit?
 
Eigentlich sollte der Script schon funktionieren. ;)
Er kommt schließlich auch mehrfach in dieser Form auf meiner Website zum Einsatz. ;)
Bist du sicher das die entsprechende Tabelle existiert, die Verbindung zur Datenbank korrekt hergestellt ist, die nötigen rechte Vergeben sind und auch die Spalte "Gelesen" genau in dieser Form existiert?

MfG mh1001
 
Zuletzt bearbeitet:
Jow, jetzt funzt das endlich. THX @ all!!!

Hab jetzt einfach mal den Code von merv genommen.

Aber ich musste nochmal ne neue Verbindung zur Datenbank aufbauen, obwohl schon eine besteht!? Muss mal gucken, woran das liegt...

Greetz, Gecko
 
Zurück
Oben