ホームページ >データベース >mysql チュートリアル >MySQLi の「COUNT(*)」が常に 1 を返すのはなぜですか?

MySQLi の「COUNT(*)」が常に 1 を返すのはなぜですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-02 19:28:12581ブラウズ

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

間違った MySQLi Count(*) 結果: 常に 1 を返す

テーブル内の行数を取得しようとすると、次のエラーが発生しました。 phpMyAdmin で正しいクエリを使用しているにもかかわらず、$result->num_rows カウントが一貫して 1 を返す問題。

この動作を修正するには、COUNT(*) が単一の値を返す集計関数であることを理解する必要があります。この値を取得するには、$result->fetch_row() を使用してクエリから結果をフェッチする必要があります。結果の配列 ($row[0]) の最初の要素にはカウントが含まれます。

修正されたコードは次のとおりです:

$result = $db->query("SELECT COUNT(*) FROM `table`");
$row = $result->fetch_row();
echo '#: ', $row[0];
この変更を組み込むことで、正しく取得できるようになります。テーブル内の行数。

以上がMySQLi の「COUNT(*)」が常に 1 を返すのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。