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 サイトの他の関連記事を参照してください。