Heim >Datenbank >MySQL-Tutorial >Warum gibt mein MySQLi „COUNT(*)' immer 1 zurück?

Warum gibt mein MySQLi „COUNT(*)' immer 1 zurück?

Barbara Streisand
Barbara StreisandOriginal
2024-12-02 19:28:12578Durchsuche

Why Does My MySQLi `COUNT(*)` Always Return 1?

Falsche MySQLi-Anzahl (*) Ergebnis: Gibt immer 1 zurück

Beim Versuch, die Anzahl der Zeilen in einer Tabelle abzurufen, sind Sie auf Folgendes gestoßen Ein Problem, bei dem der $result->num_rows-Zähler durchweg 1 zurückgab. Obwohl die richtige Abfrage in phpMyAdmin verwendet und das erwartete Ergebnis erhalten wurde, Die PHP-Methode hat sich unerwartet verhalten.

Um dieses Verhalten zu korrigieren, müssen Sie verstehen, dass COUNT(*) eine Aggregatfunktion ist, die einen einzelnen Wert zurückgibt. Um diesen Wert abzurufen, müssen Sie das Ergebnis aus der Abfrage mit $result->fetch_row() abrufen. Das erste Element im resultierenden Array ($row[0]) enthält die Anzahl.

Hier ist der korrigierte Code:

$result = $db->query("SELECT COUNT(*) FROM `table`");
$row = $result->fetch_row();
echo '#: ', $row[0];

Durch die Einbeziehung dieser Änderung erhalten Sie nun korrekt die Anzahl der Zeilen in Ihrer Tabelle.

Das obige ist der detaillierte Inhalt vonWarum gibt mein MySQLi „COUNT(*)' immer 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