Aufdecken des Fehlers in der Zeilenzählung von MySQLi
Um die Anzahl der Zeilen einer Tabelle zu bestimmen, wurde ein Codeausschnitt implementiert:
$result = $db->query("SELECT COUNT(*) FROM `table`;"); $count = $result->num_rows;
Der Zählwert bleibt jedoch stets bei 1, unabhängig von der tatsächlichen Anzahl der Zeilen die Tabelle.
Beim weiteren Debuggen wird das Problem offensichtlich: Die ausgeführte Abfrage gibt einen einzelnen Datensatz zurück, wobei der Zählwert in der ersten Spalte gespeichert ist. Um auf das Ergebnis zuzugreifen, muss daher der Datensatz abgerufen werden:
$result = $db->query("SELECT COUNT(*) FROM `table`"); $row = $result->fetch_row(); echo '#: ', $row[0];
Dieser Ansatz garantiert die korrekte Anzahl der Zeilen in der Tabelle, auch wenn die Abfrage über phpMyAdmin ausgeführt wird.
Das obige ist der detaillierte Inhalt vonWarum gibt „num_rows' von MySQLi beim Zählen von Zeilen 1 zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!