• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:mysql_query等でレコード数を変数に格納)

PHPでmysql_queryを使用してレコード数を取得する方法

このQ&Aのポイント
  • PHPのmysql_queryを使用して、指定の条件に該当するレコードの数を取得する方法について説明します。
  • 例えば、特定のテーブルから条件に合致するレコードの数を取得する場合、SQLクエリを使用してCOUNT関数を実行します。
  • 取得した値はPHPの変数に格納することができますが、mysql_queryの結果がリソースとして返されるため、正しい方法で取得する必要があります。

質問者が選んだベストアンサー

  • ベストアンサー
  • shimix
  • ベストアンサー率54% (865/1590)
回答No.1

mysql_num_rowsはクエリを実行した結果セットの行数です。つまり列名rowsに値として9が入っている1行だけです(count()をselectしていますから当然ですね)。 どの関数がどういうものを返すのかはマニュアルを読めば書いています。熟読すればこういう間違いはあり得ません。 select count(*) as rows from ・・・ というSQL文を実行したのであれば、 if ($row = mysql_fetch_array($result)) { $rows = $row['rows']; } else { die('cannot fetch data'); } です。 mysql_num_rowsを使うなら、SQL文は「select * from ・・・」です(全部の結果セットを得て、その行数を調べます)。 なお、mysql_queryが返すのはリソースIDですから$resultという変数名には違和感があります。またネイティブなMySQL関数は(マニュアルに記載があるとおり)すでに非推奨です。今から覚えるならMySQLiもしくはPDOを使ってください。

spindle
質問者

お礼

ご教示ありがとうございました。ご指摘の諸点は、なるほど、と納得です。 rows の値も取得できました。 また少しづつでも前進していく所存です。重ねて、ありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A