2009-08-12 7 views
0

Ich habe derzeit ein Problem, bei dem MySQL nur eine meiner 3 Zeilen in einer dynamischen temporären Tabelle anzeigt, die ich auf einer PHP-Seite erstellt habe. Ich kann bestätigen, wie viele Zeilen die TmpTable über hat:Anzeige der Ergebnisse einer MySQL Temp Tabelle mit PHP - Caching?

$numrows = mysqli_num_rows($doResults); 

(Rendite 3)

Aber wenn ich meine while ($rows=mysqli_fetch_array($doResults)) { } tun, nur 1 der 3 Zeilen zurückgegeben werden/angezeigt. Die eine Zeile wird korrekt mit allen angeforderten Feldern zurückgegeben.

Hat jemand irgendwelche Probleme mit irgendeiner Art von Caching, etc ...?

+0

Versuchen Sie, die Abfrage selbst und/oder einen größeren Ausschnitt des Codes veröffentlichen. Etwas, das die Abfrage und die Abrufschleife enthält. Sehen Sie sich auch mysqli_fetch_all() an, wenn Sie PHP 5.3 ausführen. –

Antwort

0

mysqli_fetch_array() gibt den nächsten Datensatz in der Ergebnismenge zurück, nur einen Datensatz. Der Name Ihrer Variablen $ row s schlägt vor, dass Sie etwas anderes erwarten.

Probieren Sie etwas wie

error_reporting(E_ALL); // only for debugging 
ini_set('display_errors', 1); // only for debugging 

$numrows = mysqli_num_rows($doResults); 
echo '<pre>debug: $numrows=', $numrows, "</pre>\n"; 
$dbgcRow = 0; 
while($row=mysqli_fetch_array($doResults)) { 
    // row counter/number of the current record 
    echo '<pre>debug: $dbgcRow=', ++$dbgcRow, "</pre>\n"; 
    // print the values of the current record 
    echo htmlentities(join(',', $row)), "<br />\n"; 
} 
+0

Vielen Dank für Ihre schnelle Antwort ... Ich habe mein Problem herausgefunden. Ich hatte eine zweite While-Schleife in meiner While-Schleife, die dazu führte, dass sie nach dem Anzeigen von 1 Zeile beendet wurde. Geändert in For-Schleife und funktioniert jetzt gut! Danke nochmal und Gott segne -L –