MySQL Abfrage ist richtig aber keine Daten im Array

BSA

Erfahrenes Mitglied
Hi Leute!

Ich habe eine MySQL Abfrage:

Code:
"SELECT SUM( LENGTH( title ) ) + SUM( LENGTH( text ) ) AS speicher FROM blog WHERE userid = '".$_SESSION['userid']."'"

Die gibt auch eine Zahl zurück wenn ich das ganze in PHPMyAdmin Abfrage, aber wenn ich das in mein Script einbinde und die Daten per mysql_fetch_array() in ein Array schreiben will, funktioniert das nicht, also er gibt keinen Fehler aus, sonsern es steht einfach nichts im Array:

Array ( [0] => [speicher] => )

Hat jemand ne Idee woran das liegen könnte?
 
Möglicherweise findet die UserID nicht ihren Weg in das Query. Gib den zusammen gebauten String mal aus, bevor Du das Query ausführst.
text ist in MySQL übrigens ein reserviertes Wort und sollte daher in Backticks geschrieben werden. Auf anderen Servern könnte das Query einen MySQL-Fehler verursachen. Vielleicht wird es in Deinem Query aber auch falsch interpretiert.

Gruß hpvw
 
Kann es sein, dass Du beim Vergleich einer ID (vermutlich INT) mit einer Zeichenkette (Session-Variable in Hochkomma) nicht das Ergebnis erhältst, was Du erwartest? Ist das evtl. niemals true?

Gruß hpvw
 
Doch, ist es. Wenn ich mir das Query ausgeben lasse, und so wie er mir es ausgibt in PHPMyAdmin einfüge, dann bekomme ich ja ein Ergebnis zurück geliefert!
 
schau mal, wie viele Datensätze du zurück bekommst.
normalerweise müsste es einer sein.


mysql_num_rows()
 
BSA hat gesagt.:
... und so wie er mir es ausgibt in PHPMyAdmin einfüge, dann bekomme ich ja ein Ergebnis zurück geliefert!
Hast Du die Tabelle vielleicht in zwei verschiedenen Datenbanken auf Deinem Rechner und in der, auf die Du mit dem Skript zugreifst, stehen noch nicht die passenden Daten?
SUM hat gesagt.:
Gibt die Summe von ausdruck zurück. Beachten Sie, dass der Rückgabewert NULL ist, wenn die Ergebnismenge keine Zeilen hat!
Wenn es in phpMyAdmin funktioniert, nicht aber im Skript, zeige doch mal den PHP-Code um das Query herum.

EDIT:
BSA hat gesagt.:
... steht einfach nichts im Array:

Array ( [0] => [speicher] => )
Das ist auch eine Ergebniszeile, sie enthält allerdings null.

Gruß hpvw
 
Also die Geschichte mit den zwei Datenbanken kommt nich tin Frage. Ausgeschlossen.

Mein Code:

PHP:
$mysql = new mysql_log();
$result = $mysql->query("SELECT SUM( LENGTH( title ) ) + SUM( LENGTH( text ) ) AS speicher FROM blog WHERE userid = '".$_SESSION['userid']."");
$data = mysql_fetch_array($result);
$replacement['speicher'] = $data['speicher'];

Habe den Code jetzt nur nochmal Nachgeschrieben. Habe das Script leider zu Hause.
 
Was passiert in der Methode query? Wird nur die RessourceID mit [phpf]mysql_query[/phpf] ermittelt und zurückgegeben?

Ansonsten bin ich jetzt etwas ratlos.

Gruß hpvw
 
Zurück