Heim > Artikel > Backend-Entwicklung > Die Ergebnisse der mysql_fetch_row-Abfrage sind unvollständig. Warum werden die Ergebnisse in alternativen Zeilen angezeigt?
Wenn Sie die Funktion mysql_fetch_row zum Abfragen der Datenbankergebnisse verwenden, werden nur die Ergebnisse alternativer Zeilen in der Datenbank angezeigt und nicht die vollständigen Ergebnisse. Was ist der Grund? Der Code lautet wie folgt:
<code>while(mysql_fetch_row($result)){ echo '<pre class="brush:php;toolbar:false">'; print_r(mysql_fetch_row($result)); echo ''; }
Dieser Code kann nur einen Teil der Ergebnisse anzeigen, wie im Bild gezeigt:
Datenbank-Screenshot:
2. Verwenden Sie den folgenden Code, um alle Ergebnisse abzufragen.
<code>while($arr = mysql_fetch_row($result)){ echo '<pre class="brush:php;toolbar:false">'; print_r($arr); echo ''; }
Wenn Sie die Funktion mysql_fetch_row zum Abfragen der Datenbankergebnisse verwenden, werden nur die Ergebnisse alternativer Zeilen in der Datenbank angezeigt und nicht die vollständigen Ergebnisse. Was ist der Grund? Der Code lautet wie folgt:
<code>while(mysql_fetch_row($result)){ echo '<pre class="brush:php;toolbar:false">'; print_r(mysql_fetch_row($result)); echo ''; }
Dieser Code kann nur einen Teil der Ergebnisse anzeigen, wie im Bild gezeigt:
Datenbank-Screenshot:
2. Verwenden Sie den folgenden Code, um alle Ergebnisse abzufragen.
<code>while($arr = mysql_fetch_row($result)){ echo '<pre class="brush:php;toolbar:false">'; print_r($arr); echo ''; }
Es sollte so sein, dass mysql_fetch_row($result) den Zeiger bei jeder Ausführung um eine Zeile zurückbewegt
Bei der ersten Ausführung in Klammern nach einer Weile gab es keine Ausgabe
Dann wurde es ausgeführt einmal im Codeblock und ausgegeben
Dann wird die Schleife erneut ohne Ausgabe ausgeführt
Dann wird der Codeblock einmal ausgeführt und ausgegeben
Dann ist die Bedingung in while falsch und stoppt
Jedes Mal, wenn der Abruf abgeschlossen ist, entspricht dies dem Verschieben des Zeigers um ein Bit nach unten. Die erste Schreibweise bewegt sich jedes Mal um zwei Bits nach unten (einmal in while und einmal in print_r), sodass jedes andere Bit ausgegeben wird.