MySQL und Mehrdimensionale Arrays

Panzer

Mitglied
Halli Hallo Liebes Forum,

ich bräuchte mal eure kompetente Meinung bzw euren Rat,

ich habe eine MySQL Abfrage die mir mehrere Zeilen mit jeweils mehreren Spalten diesen sollen in einen Array geschrieben werden. Das Problem an der Sache ist ich weiss nicht wieviele Spalten ich habe.

Hier meine Idee ...

PHP:
if(mysql_num_rows ($ergebnis) > 0){
						if(mysql_num_rows ($ergebnis) == 1){
							$datensatz = mysql_fetch_array($ergebnis);
							$gl_error=0;
							return $datensatz;
							//var_dump ($datensatz);
						}
						else{
							$i=0;
							while($atensatz = mysql_fetch_array($ergebnis)){
								$aten_reihe[$i]=$datensatz; // <-- Hier bin ich mir nicht ganze sicher!
								$i++;
							}
							$gl_error=0;
							return $daten_reihe;
								
						}
					
					}

Jetzt ist die Frage geht sowas noch etwas eleganter bzw. funktioniert das überhaupt so? :)

Gruß Christoph
 
Wie wäres damit:

PHP:
while($datensatz = mysql_fetch_array($ergebnis)){
        $aten_reihe[] = $datensatz;
}

oder du könntest den index deines arrays mit dem PrimKey des results versehen, dann weist du immer was du gerade behandelst.

PHP:
while($datensatz = mysql_fetch_array($ergebnis)){
        $daten_reihe[$datensatz['primKey']] = $datensatz;
}
 
leider funktioniert keins von beidem... die 2. variante fällt eh raus ... da ich nicht weiss welche abfrage kommt kann ich auch nicht sagen ob es eine bestimmte spalte gibt...
aber auch die erste variante gibt einen fehler aus:

Fatal error: Cannot use [] for reading in /db.php on line 38

wenn ich statt dessen eine variable einsetze kommt folgender fehler:

Parse error: syntax error, unexpected T_STRING in /db.php on line 38

woran könnte es liegen?
 
Klingt nach ner guten (simplen) Lösung aber leider gibt auch diese eine Fehler aus ... Call to undefined function mysqli_fetch_all() ... hab ich was beim einbauen übersehen? oder besser muss ich da etwas beachten?

gruß christoph

und btw danke für die hilfe erstmal :)
 
php-info sagt: PHP Version 5.2.10

mysqli

MysqlI Support enabled
Client API library version 5.0.51a
Client API header version 5.0.51a
MYSQLI_SOCKET /var/run/mysqld/mysqld.sock

Directive Local Value Master Value
mysqli.default_host no value no value
mysqli.default_port 3306 3306
mysqli.default_pw no value no value
mysqli.default_socket no value no value
mysqli.default_user no value no value
mysqli.max_links Unlimited Unlimited
mysqli.reconnect Off Off


also soweit ich sehen kann alles ok... muss ich bei der querry vllt noch was ändern ... hab das ganze mal bei google rein gehauen und mir ein paar beispiele angeschaut... da benutzen sie auch ne andere querry syntax ... stehe grade ein bischen auf dem schlauch ...
 
sorry stand da grade bissle auf dem schlauch ... also muss ich da ganze doch per hand machen oder wie? oder gibts noch ne lösung die vllt auch mit nem nich ganz aktuellem php funtzt?

gruß
 
Zurück