Heim > Backend-Entwicklung > PHP-Tutorial > Warum gibt die MySQLi-Methode „query()' eine unerwartete Zeilenanzahl zurück, wenn sie „COUNT(*)' verwendet?

Warum gibt die MySQLi-Methode „query()' eine unerwartete Zeilenanzahl zurück, wenn sie „COUNT(*)' verwendet?

Mary-Kate Olsen
Freigeben: 2024-11-07 06:55:03
Original
657 Leute haben es durchsucht

Why Does MySQLi's `query()` Method Return an Unexpected Row Count When Using `COUNT(*)`?

Die Abfragemethode von MySQLi liefert unerwartete Zeilenanzahlen

Beim Versuch, die Zeilenanzahl einer MySQL-Tabelle mithilfe der Funktion COUNT(*) abzurufen und Bei Verwendung der query()-Methode des MySQLi-Objekts kann es zu einem unerwarteten Ergebnis kommen, bei dem die zurückgegebene Zeilenanzahl immer 1 beträgt. Dies kann vom korrekten Ergebnis abweichen, wenn dieselbe Abfrage mit Tools wie phpMyAdmin ausgeführt wird.

Verstehen das Problem

Die Eigenschaft num_rows des MySQLi_Result-Objekts spiegelt die Anzahl der Zeilen in der Ergebnismenge wider, die von der ausgeführten Abfrage zurückgegeben wird. Bei Verwendung der Funktion COUNT(*) ist das Ergebnis jedoch eine einzelne Zeile, die den Zählwert enthält, und nicht mehrere Zeilen wie in regulären Abfrageergebnissen.

Der richtige Ansatz

Um mit MySQLi den korrekten Zählwert zu erhalten, müssen Sie die einzelne Ergebniszeile aus dem MySQLi_Result-Objekt abrufen und den Zählwert aus dieser Zeile abrufen. Dies kann mit der Methode fetch_row() erreicht werden, die ein Array von Spaltenwerten aus der ersten Zeile im Ergebnissatz zurückgibt.

Hier ist ein Beispiel, das den richtigen Ansatz demonstriert:

$result = $db->query("SELECT COUNT(*) FROM `table`");
$row = $result->fetch_row();
$count = $row[0];
echo 'Row count: ', $count;
Nach dem Login kopieren

Dieser Code ruft den Zählwert aus der ersten Zeile ab und gibt ihn aus.

Das obige ist der detaillierte Inhalt vonWarum gibt die MySQLi-Methode „query()' eine unerwartete Zeilenanzahl zurück, wenn sie „COUNT(*)' verwendet?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage