- ベストアンサー
PHPでMYSQLの最大値取得方法!?
- PHPでMYSQL内テーブル(hogehoge)の「no」フィールドの最大値を取得する方法について教えてください。
- 現在、PHPでMYSQL内テーブルの「no」フィールドの最大値を取得しようとしていますが、うまく結果が得られません。echoで出力すると「Resource id #4」となってしまいます。正しい方法を教えていただきたいです。
- 環境はWindowsXPで、mysqlのバージョンは5.0.51、phpのバージョンは5.2.5です。どうすれば「no」フィールドの中の最大値を取得できるでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
count()でなくmax()か。 $sql = "select max(column) as mx from hogehoge"; $res = mysql_query($sql); $row = mysql_fetch_assoc($res); echo $row['mx']; // アクセスできない、とは書いたものの // $row['max(column)']とすることで取得できた気もする。 // 気持ち悪いから普通やらないと思うけど。
その他の回答 (1)
- wp_
- ベストアンサー率54% (132/242)
>【結果】 >これをechoで出力すると、 >----------------------------- >Resource id #4 >----------------------------- 何をechoしたのか分かりませんが。。 mysql_query()の返り値はリソースなのでechoしてもDBの値が取れるわけではありません。 mysql_fetch_array()やmysql_fetch_assoc()を使いましょう。 http://jp.php.net/manual/en/function.mysql-fetch-array.php http://jp.php.net/manual/en/function.mysql-fetch-assoc.php またSQL関数を使うのであれば別名をつけてあげないと外部からアクセスできません。 select count(column) as cnt from hogehoge コード的には以下になるでしょう。 $sql = "select count(column) as cnt from hogehoge"; $res = mysql_query($sql); $row = mysql_fetch_assoc($res); echo $row['cnt']; //print_r($row);
お礼
表記の方法でやったらできました。 mysql_query()の返り値についてよく分かっていなかったです。 ありがとうございました。