M.Key: Problem bei der Übergabe von MYSQL nach ARRAY

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

  1. 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.

    1. 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.

      --
      Es gibt nichts Gutes, außer man tut es!
      Das Leben selbst ist der Sinn.
      1. 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.

  2. 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