Nur einen einzigen Wert in einer MySQL-Datenbank abfragen

Nur einen einzigen Wert in einer MySQL-Datenbank abfragen

am 07.01.2005 05:43:53 von Michael Heinrich

Hallo!

Ich habe folgendes Problem:
Ich möchte nur einen einzigen Wert aus einer MySQL-Datenbank für eine
Buddylist abfragen. Wie mache ich das?

Bisher sieht mein Code so aus:
require "functions.php";
require "settings.ini";
connect_db();
$nick = $_SESSION["username"];
$sql = "SELECT buddies FROM userdb WHERE nick = '$nick'";
$query = mysql_query($sql);
$buddies = explode("|||",$query["buddies"]); // ich glaube hier
liegt mein Fehler.
$buddycount = count($buddies);
for($x=0; $x>$buddycount; $x++){
echo "".$buddies[$x]."";
}
if($buddycount == 0){echo "Es sind keine Einträge
in der Buddylist vorhanden.";}
?>



Ich vermute. dass mein Fehler bei $buddies =
explode("|||",$query["buddies"]); liegt. Ich habe schon mysql_data_seek,
mysql_fetch_array, mysql_fetch_row usw. ausprobiert, doch ich kam zu
keinem Ergebnis.

Bei mysql_fetch_array und mysql_fetch_row hatte ich mich allerdings
gefragt, wie ich denn den Wert ohne While-Schleife herausbekommen soll.
Mit [index] funktionierte es nämlich auch nicht.


Ich hoffe, dass ich das ganze nicht zu umständlich beschrieben habe und
dass jemand eine Antwort oder auch evtl. Verbesserungsvorschläge für
mich hat.

MfG Michael Heinrich

Re: Nur einen einzigen Wert in einer MySQL-Datenbank abfragen

am 07.01.2005 09:35:48 von Daniel Jaenecke

Michael Heinrich wrote:

> $nick = $_SESSION["username"];
> $sql = "SELECT buddies FROM userdb WHERE nick = '$nick'";
> $query = mysql_query($sql);
> $buddies = explode("|||",$query["buddies"]); // ich glaube hier
> liegt mein Fehler.

Das glaube ich auch!
Lies bitte das Manual zu mysql_query(); die Funktion liefert eine resource
zurück, kein Array.

Du solltest prüfen, ob Deine Query überhaupt ein Ergebnis geliefert hat
(mysql_num_rows()) und dann entweder per mysql_fetch_*() einmal auf $query
zugreifen (ja, man muß mysql_fetch_*() nicht in einer Schleife verwenden).

Für einzelne Ergebnisse (und ich gehe mal davon aus, daß diese Query nur 0
oder einen Datensatz liefern kann) bietet sich allerdings auch
mysql_result() an.

Vor allem solltest Du (wenigstens) alle erwähnten Funktionen nachlesen
unter:


Gruß
-dj-

--
Rules are there to make you think before you break them.
[T. Pratchett]