Was macht dieser Code?

  • Hallo Leute,

    Ich bin blutiger Anfänger und gerade dabei PHP zu lernen.

    Nun hätte ich eine Frage. Kann mir bitte jemand den Folgenden Code erklären?

    Ich verstehe nicht ganz was diese Schleife macht bzw. wofür ich diese brauche.

    Soweit ich das verstanden habe greift die function mysqli_query auf meine Datenbank zu.

    Wofür jedoch ist die andere function und wieso kann ich nicht gleich das Ergebnis Verarbeiten welches mir mysqli_query liefert?

    Vielen Dank für eure Hilfe;)



    Code
    1. while(§row = echo(mysqli_fetch_assoc(mysqli_query($conn,$sql)){
    2. echo row[POSITION];
    3. }
  • Da ich das mysqli-Modul bei mir deaktiviert habe, kann bzw. werde ich da nichts testen, deshalb behaupte ich mal keck und mit Vorbehalt, dass das erste echo samt folgender öffnender Klammer falsch ist (gibt keine schliessende Klammer dazu). Zudem ist das Paragrafenzeichen vor dem row nach dem while ein Tippfehler und soll wohl ein Dollarzeichen sein. Zusätzlich fehlt noch eine schliessende Klammer für das while. Bei der Ausgabe für das echo fehlt das Dollarzeichen vor row.

    Die Korrekturen für die 4 Fehler eingebaut ergibt sich:

    1. while( $row = mysqli_fetch_assoc( mysqli_query( $conn, $sql ) ) )
    2. {
    3. echo $row[POSITION];
    4. }

    Mit _query wird die Abfrage ausgeführt.

    Mit _fetch werden die Ergebnisse (Datensätze) einzeln aus der Ergebnismenge geholt.

    Durch das while werden solange Ergebnisse ausgegeben, bis die gesamte Ergebnismenge abgefragt wurde.