Problem bei der Übergabe von MYSQL nach ARRAY
M.Key
- datenbank
- mysqli
- php
Hallo, ich habe ein Problem mit einem array. ich lese aus einer Datenbank die jeweilige Table aus und begebe sie in ein array.
$sql = "SELECT stad, straat FROM adres";
$result = mysqli_query($TabIn,$sql);
$adres= mysqli_fetch_array($result);
Dann habe ich 312 Datensätze
Aber wenn ich mit count($adres) diese Abfrage kommt nur 2, es müssten aber 312 sein.
Groete uit Kaapstad
Tach!
ich lese aus einer Datenbank die jeweilige Table aus und begebe sie in ein array.
$sql = "SELECT stad, straat FROM adres"; $result = mysqli_query($TabIn,$sql); $adres= mysqli_fetch_array($result);
Aber nciht mit dem Code. mysqli_fetch_array() liefert nur eine einzelne Zeile, die aber als Array. Das hätte auch eine Kontrollausgabe mit print_r() oder var_dump() gezeigt.
Dann habe ich 312 Datensätze
Die hast du erst dann, wenn du mit einer Schleife solange mysqli_fetch_array() aufrufst, bis es NULL liefert.
Besser ist aber, stattdessen die Funktionen mysqli_fetch_assoc() oder mysqli_fetch_row() oder mysqli_fetch_object() zu nehmen, je nachdem, wie man die Zeile gern hätte.
Was du aber eigentlich meintest ist wohl die Funktion mysqli_fetch_all(). Die liefert das gesamte Ergebnis als großes Array.
dedlfix.
Hello Dedlfix,
Was du aber eigentlich meintest ist wohl die Funktion mysqli_fetch_all(). Die liefert das gesamte Ergebnis als großes Array.
Gibt es dazu auch eine Handbuchseite bei php.net?
"mysqli_fetch_all doesn't exist. Closest matches: "
Liebe Grüße
Tom S.
Tach!
Was du aber eigentlich meintest ist wohl die Funktion mysqli_fetch_all().
Gibt es dazu auch eine Handbuchseite bei php.net?
"mysqli_fetch_all doesn't exist. Closest matches: "
Man findet sie tatsächlich nicht auf diese Weise im PHP-Such-Index. Sie ist ein Alias zu mysqli_result::fetch_all() und hat wohl keine eigene Weiterleitungsseite wie andere Alias-Funktionen. Außerdem findet man sie über andere Suchmaschinen.
dedlfix.
Hi,
> $sql = "SELECT stad, straat FROM adres";
> $result = mysqli_query($TabIn,$sql);
> $adres= mysqli_fetch_array($result);
$adres enthält jetzt als Array den ersten Datensatz. Und da Du 2 Spalten im select holst, hat dieses Array genau 2 Einträge.
Mit dem nächsten Aufruf von mysqli_fetch_array($result) erhältst Du den zweiten Datensatz. Usw.
Aber wenn ich mit count($adres) diese Abfrage kommt nur 2, es müssten aber 312 sein.
nein, jeder Datensatz hat genau 2 Einträge, also hat das Array 2 Elemente. Und die gibt das count korrekt zurück.
cu,
Andreas a/k/a MudGuard