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

Warum gibt meine MySQLi-Abfrage „COUNT(*)' immer 1 zurück?

Linda Hamilton
Linda HamiltonOriginal
2024-12-04 01:04:10468Durchsuche

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

MySQLi Count(*) gibt konsistent 1 zurück: Eine Erklärung

Wenn Sie auf das Problem stoßen, bei dem MySQLi's count(*) immer 1 zurückgibt, ist es Es ist wichtig zu verstehen, dass die Abfrage die Anzahl nicht direkt als Wert zurückgibt. Stattdessen wird eine Ergebnismenge zurückgegeben, die einen einzelnen Datensatz mit der Anzahl als Daten enthält.

Um auf die tatsächliche Anzahl zuzugreifen, müssen Sie diesen Datensatz aus der Ergebnismenge abrufen. Das folgende Codefragment zeigt, wie das geht:

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

Durch das Abrufen der ersten Zeile des Ergebnissatzes rufen Sie ein Array ab, in dem das erste Element den Zählwert enthält. Dies liefert das korrekte Ergebnis, das sich von dem in phpMyAdmin erhaltenen Ergebnis unterscheidet, wo die Anzahl direkt in den Abfrageergebnissen angezeigt wird.

Denken Sie daran, dass die num_rows-Eigenschaft von MySQLi die Anzahl der betroffenen Zeilen beim Einfügen, Aktualisieren oder Löschen angibt Operationen. Es eignet sich nicht zum Abrufen von Zählwerten in ausgewählten Abfragen.

Das obige ist der detaillierte Inhalt vonWarum gibt meine MySQLi-Abfrage „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