• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Mehrfache Ausgabe über MySQLi

Freuler

Neues Mitglied
Hallo :)

wollte euch erneut wieder was fragen ^^

Jemand eine Idee wieso dieses Skript nur eine Zeile ausgibt?

Code:
<?php       $db = mysqli_connect(DB_HOST, DB_BENUTZER, DB_PASSWORT, DB_NAME);
           $sql = "SELECT * FROM nachrichten WHERE an = '$_SESSION[NAME]' LIMIT 10";
          $daten = mysqli_query($db, $sql);
          $zeile = mysqli_fetch_array($daten);

                    while($row = mysqli_fetch_object($daten)) 
   {
   echo "$row->von, $row->title, $row->datum <br />";

   }
?>

Herzlichen Dank für eure Unterstützung :)
 
Werbung:
Das hängt davon ab wieviele Datensätze von dem SQL-Statement

Code:
SELECT * FROM nachrichten WHERE an = '$_SESSION[NAME]' LIMIT 10

betroffen sind.

Tipp: lass es dir mal mit

Code:
echo $sql;

ausgeben und führe das was dir dort ausgegeben wird im phpmyadmin oder deiner Datenbankoberfläche aus.
 
Werbung:
echo $sql bringt SELECT * FROM nachrichten WHERE an = 'Freuli' LIMIT 10 als Ergebnis

Und jetzt? o_O
 
Zuletzt bearbeitet:
Nimmst du das, packst es in den phpMyAdmin und guckst, wie viele Zeilen das zurückgibt. Safe bet wäre zwei, wenn dein Script aus dem Eröffnungspost nur eine Zeile ausgibt.

Wie crash schon anklingen ließ, holen die fetch-Funktionen die Datensätze ab. Das heißt, sie löschen sie beim Abruf aus der vorliegenden Ergebnismenge. Mit deinem Code $zeile = mysqli_fetch_array($daten); holst du bereits vor der Schleife den ersten Datensatz ab, so dass dieser in der Schleife nicht mehr zur Verfügung steht. Wenn dort dann nur noch ein Datensatz ausgegeben wird, ist die wahrscheinliche Antwort, dass überhaupt nur zwei Datensätze in der Ergebnismenge stehen.
 
Zurück
Oben