Hallo zusammen,
ich habe Datenbankabfrage gemacht mit
$db=$mysqli->query("SELECT…)
Diese habe ich dann in ein Array eingelesen per
while($dbdaten[]=$db->fetch_array())
{
}
Wenn ich nun diese Daten per
print_r($dbdaten)
ausgeben lasse.
Wird ein zweidimensionales Array ausgegeben wie folgt ausgegeben
Array ( [0] => Array ( [0] … ) [1] => Array ( [0] … ) [2] => Array ( [0] … ) [3] => Array ( [0] …) [6] => )
Nur mich wundert, warum das Feld [0][6] noch angezeigt wird, wenn diese doch leer ist.
Wie kann das sein?
Hi,
Nur mich wundert, warum das Feld [0][6] noch angezeigt wird,
wenn diese doch leer ist.
wieso wunder Dich, dass diese Funktion wie auch var_dump sämtliche Variablen unabhängig vom Inhalt ausgibt?
Gruß
Ingo
Efchen
12. Juli 2013 um 08:43
3
Moin,
Nur mich wundert, warum das Feld [0][6] noch angezeigt wird,
wenn diese doch leer ist.
Wie kann das sein?
Das liegt daran, dass es ein Unterschied ist, ob eine Variable nicht belegt oder leer ist.
Grüße,
-Efchen
Hallo und danke für die Antwort efchen!
Die Variable ist also belegt oder anders gesagt gesetzt, wenn auch leer. Deshalb wird das Feld [0][6] angezeigt. Interesse halber… Warum wird dieses Feld gesetzt, wenn doch kein Inhalt mehr folgt?
Gruß
Hallo
Hallo zusammen,
ich habe Datenbankabfrage gemacht mit
$db=$mysqli->query("SELECT…)
Diese habe ich dann in ein Array eingelesen per
hier ist dein problem
du nutz fetch array und das auf ein array
while($dbdaten[]=$db->fetch_array())
{
}
Wenn ich nun diese Daten per
print_r($dbdaten)
ausgeben lasse.
Wird ein zweidimensionales Array ausgegeben wie folgt
ausgegeben
Array ( [0] => Array ( [0] … ) [1] => Array ( [0] … )
[2] => Array ( [0] … ) [3] => Array ( [0] …) [6] => )
das ergibt wohl einen leeren datensatz while bricht dann ab hat aber wohl bei dbdaten schon das [] ausgeführt
das würde den leeren erklären
übrigens geht es auch anders :
function getArraySQL($sql,&$dbs) {
$aEntry = array();
// $sql = mb_convert_encoding($sql, ‚UTF-8‘);
if ( !$res=mysql_query($sql,$dbs[„dbi“])) {
echo "Error -> ".$sql;
exit;
}
while ($row = mysql_fetch_array($res,MYSQL_ASSOC)) {
array_push($aEntry,$row);
}
return $aEntry;
}
guck dir mal damit das ergebnis an
bestimmt ist dann der letzte eintrag nicht leer
Nur mich wundert, warum das Feld [0][6] noch angezeigt wird,
wenn diese doch leer ist.
Wie kann das sein?
Efchen
15. Juli 2013 um 10:20
6
Moin,
Interesse
halber… Warum wird dieses Feld gesetzt, wenn doch kein
Inhalt mehr folgt?
Ich kenne Deinen Code nicht. Wenn Du den Wert setzt, dann existiert die Variable. Setzen mit leerem Inhalt ist halt auch ein Setzen. Kann ein immenser Unterschied sein, ob etwas nicht existiert, oder ob es keinen Inhalt hat.
Wenn bei Regen Dein Keller voll läuft, dann bist Du auch froh, wenn ein leerer Eimer existiert, denn dann kannst Du Schaufeln. Wenn der Eimer nicht existiert, musst Du Dich mit dem Wasser arrangieren
Liebe Grüße,
-Efchen
Dankeschön
Hallo!
Danke für Eure Antworten. @Efchen : Genial erklärt! @TechPech : Danke für den Code
Gruß