mysql_num_rows が SELECT または SHOW コマンドのいずれかで返される行数を返す必要がある場合、特に SHOW TABLE コマンドでは 0 を返すことに気付きました。
代わりに、num 行ではなく、影響を受ける行数が表示されます。
これがバグなのか、それともここに何か欠けているのか、誰にでも教えてもらえますか?
mysql_num_rows が SELECT または SHOW コマンドのいずれかで返される行数を返す必要がある場合、特に SHOW TABLE コマンドでは 0 を返すことに気付きました。
代わりに、num 行ではなく、影響を受ける行数が表示されます。
これがバグなのか、それともここに何か欠けているのか、誰にでも教えてもらえますか?
SHOW TABLE
コマンドは、データベース内のテーブル名を表示するために使用されます。一方、mysql_num_rows
は、クエリから取得した結果の数をカウントするために使用されます。このクエリは、要件に基づいて異なります...
PHPドキュメントページに記載されているように:
結果セットから行数を取得します。このコマンドは、実際の結果セットを返す SELECT や SHOW などのステートメントに対してのみ有効です。
私の推測では、列挙するSHOW TABLES
結果セットのタイプを生成する技術的なクエリではありません。mysql_num_rows
これらの「ヘルパー」関数 ( 、など)SHOW
では、通常のテーブルのように結果を発行することはできません。EXPLAIN
DESCRIBE
しかし、これを行う方法を探しているなら、SHOW TABLES
できるからです。
SELECT `table_name` FROM `information_schema`.`tables`
WHERE `table_schema`=DATABASE()
-- DATABASE() selects current database name
-- you can use the name of any database as a string instead
つまり、基本的にinformation_schema
データベースを使用してその情報を取得できます。
これは mysql のバグで、アップデートで修正されました。