Hallo,
ich lese eine MySQL-Datenbank aus und möchte die Daten in ein Array übergeben.
Die Schlüssel des Arrays sollen die gleichen sein, wie die der SQL-Tabelle.
Bsp.:
SQL-Tabelle:
$sql_result[‚name‘]
soll werden:
$daten[‚name‘]
Nun habe ich mein Glück versucht mit folgendem Code:
foreach ($sql\_result AS $key-\>$value) {
$daten['$key']=$value;
}
Problem an der Sache ist, das nicht zwangsläufig jedes Feld in der MySQL-Tabelle gefüllt ist, somit erhalte ich dann die Fehlermeldung:
cannot access empty property
Welche Möglichkeit hätte ich, trotzdem alle Felder entsprechend zu übernehmen?
Hallo,
ich lese eine MySQL-Datenbank aus und möchte die Daten in ein
Array übergeben.
Die Schlüssel des Arrays sollen die gleichen sein, wie die der
SQL-Tabelle.
Bsp.:
SQL-Tabelle:
$sql_result[‚name‘]
soll werden:
$daten[‚name‘]
Nun habe ich mein Glück versucht mit folgendem Code:
foreach ($sql_result AS $key->$value) {
$daten[’$key’]=$value;
}
kann es sein, dass $daten[’$key’] besser $daten["$key"] oder noch besser $daten[$key] heissen sollte?
Problem an der Sache ist, das nicht zwangsläufig jedes Feld in
der MySQL-Tabelle gefüllt ist, somit erhalte ich dann die
Fehlermeldung:
dann hast du aber in deinem result ein element mit dem key mysql.spaltenname und dem wert null oder „“ je nachdem halt, also eigentlich kein problem.
kann es sein, dass $daten[’$key’] besser $daten["$key"] oder
noch besser $daten[$key] heissen sollte?
Hmm, kann sein, wird wohl sogar, aber habe grade mal die zeile entfernt und nur die Schleife getestet. Also wohl für das Problem erstmal nebensächlich, trotzdem danke für den Hinweis.
dann hast du aber in deinem result ein element mit dem key
mysql.spaltenname und dem wert null oder „“ je nachdem halt,
also eigentlich kein problem.
richtig, mit var_dump($sql_result);
bekomme ich die Datensätze angezeigt, teilweise sind die Felder/Spalten halt mit dem Wert NULL.
der fehler kommt aber nicht in der chleife oben?!
Doch, der Fehler wird mit
foreach ($sql_result AS $key->$value) {
…
}
kopierst du die Daten in ein 2-Dimensionales Array, bei welchen du mit $daten[2][„spalte“] auf die einzelnen Zeilen (hier 2, also 3. Zeile) und Spalten zugreifen kannst.
Nun möchte ich die Daten mit Schlüsselbezeichner ausgeben.
Am einfachsten mit foreach:
foreach ($daten AS $key->$value) {
echo $key.": ".$value;
}
Aber hier stoße ich nun wieder auf die Fehlermeldung:
cannot access empty property,
weil ja einige Felder den Wert NULL enthalten.
erst beim kopieren udn probieren aufgefallen:
willst du denn ein objekt erzeugen?
du schreibst:
foreach ($daten AS $key->$value)
meinst du nicht eher:
foreach ($daten AS $key = > $value)