implode() Funktion gibt Doppler aus ...

Quests Sohn

Mitglied
Hallo Forum,

ich bin ziemlich ratlos, wie es zu folgendem Problem kommt:

PHP:
$result_u = mysql_query("SELECT * FROM user WHERE id = '$_SESSION[id]'"); 
$a = mysql_fetch_array($result_u); 
$datenpaket = implode("|", $u);

Der o. g. Code gibt etwa folgendes aus:

Herr|Herr|Markus|Markus|Muster|Muster ...

Jeder Wert wird einfach doppelt ausgegeben. Woran kann das liegen?
Ich bin für jede Hilfe dankbar!!
 
[phpf]mysql_fetch_array[/phpf] stellt, wie du in der :rtfm: nachlesen kannst, die Daten zweimal zur Verfügung.

Einmal als Numerisches Array und einmal als Assoziatives Array.
Wenn du numerisch weiterarbeitest ($array[0]), sollst du [phpf]mysql_fetch_row[/phpf] verwenden.
Wenn du assoziativ weiterarbeitest ($array['spaltenname']), sollst du [phpf]mysql_fetch_assoc[/phpf] verwenden.
 
Du kannst auch über den zweiten Parameter der mysql_fetch_array()-Funktion die Art des Rückgabe-Arrays bestimmen.
 
Sorry Gumbo, ich hatte mich vertippt. Wo immer $a stand hätte $u stehen sollen.

Danke Jörg, habe es gerade ausprobiert und es klappt perfekt!

Nochmal Gumbo: Welche parameter gibts denn noch in der fetch_array-Funktion?
 
Wer lesen kann ist klar im Vorteil!

http://de.php.net/mysql_fetch_array hat gesagt.:
Verwenden Sie MYSQL_BOTH, erhalten Sie ein Array mit assoziativen und numerischen Indizes. Bei MYSQL_ASSOC erhalten Sie nur asoziative Indizes (genau wie bei mysql_fetch_assoc()). Verwenden Sie MYSQL_NUM erhalten Sie nur numerische Indizes (genau wie bei mysql_fetch_row()).
 
Zurück