行数をカウントすると MySQLi の `num_rows` が 1 を返すのはなぜですか?

DDD
リリース: 2024-11-08 09:55:02
オリジナル
283 人が閲覧しました

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

MySQLi の行カウントの欠陥を明らかにする

テーブルの行数を決定するために、コード スニペットが実装されました。

$result = $db->query("SELECT COUNT(*) FROM `table`;");
$count = $result->num_rows;
ログイン後にコピー

ただし、テーブル内の実際の行数に関係なく、カウント値は一貫して 1 のままです。

さらにデバッグすると、問題が明らかになります。実行されたクエリは、最初の列にカウント値が格納された単一レコード。したがって、結果にアクセスするには、レコードを取得する必要があります。

$result = $db->query("SELECT COUNT(*) FROM `table`");
$row = $result->fetch_row();
echo '#: ', $row[0];
ログイン後にコピー

このアプローチにより、クエリが phpMyAdmin を通じて実行される場合でも、テーブル内の正しい行数が保証されます。

以上が行数をカウントすると MySQLi の `num_rows` が 1 を返すのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート