Heim >Backend-Entwicklung >PHP-Tutorial >Warum gibt „num_rows' von MySQLi beim Zählen von Zeilen 1 zurück?

Warum gibt „num_rows' von MySQLi beim Zählen von Zeilen 1 zurück?

DDD
DDDOriginal
2024-11-08 09:55:02350Durchsuche

Why Does MySQLi's `num_rows` Return 1 When Counting Rows?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn