- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:テーブルのレコード数を取得したいのですが、返り値が1になってしまいます。)
テーブルのレコード数を取得したいのですが、返り値が1になってしまいます。
このQ&Aのポイント
- 最近MySQLやPHPを触り始めたものです。
- マニュアルを参考に、テーブルのレコード数を取得しようとしてみたのですが、返り値が1になってしまいます。
- 初歩的なミスをしているのだと思うのですが、数時間このままの状態で困っています。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
"X行ありました"という結果が1件帰ってくるので 結果の件数(num_rows)は1件ですね。 count(*) の数はその中を見れば入ってます。 $rs = mysql_query("select count(*) from $db_table", $db); $count = mysql_fetch_row($rs); print $count[0] . '件';
その他の回答 (2)
- Hardking
- ベストアンサー率45% (73/160)
回答No.2
すいません・・・先ほどの修正です。 $num_rows = mysql_num_rows($rowcnt); ↓修正 $num_rows = mysql_num_rows(rowcnt);
質問者
お礼
アドバイスありがとうございます! 教えられたとおりにやってみたのですが、なぜかできません。 Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in ... と出てきてしまいます。
- Hardking
- ベストアンサー率45% (73/160)
回答No.1
レコード件数を問合せるselect count(*)なので mysql_num_rowsnoの実行結果は常に1になります。 select文にエイリアスを使用するように修正します。 $count = mysql_query("select count(*) as rowcnt from $db_table", $db); $num_rows = mysql_num_rows($rowcnt);
お礼
なるほど、とても分かりやすい回答ありがとうございます! さっそく試してみたところ上手く結果を出すことができました。どうもありがとうございました!