プロが教える店舗&オフィスのセキュリティ対策術

PHPでMYSQL内テーブル(hogehoge)の「no」フィールドの最大値を取得をしたいのですが、ほしい結果が得られません。
【PHP】
--------------------------------------------------------------
$my_Max = "select max(no) from hogehoge";
$kekka_max = mysql_query($my_Max);
--------------------------------------------------------------
no→今回最大値を取得したい項目(int)

【結果】
これをechoで出力すると、
-----------------------------
Resource id #4
-----------------------------
となってしまいます。
「no」の中の最大値を取得したいのですが、どうしたらよいでしょうか?

【環境】
WindowsXP
mysql:5.0.51
php:5.2.5

A 回答 (2件)

>【結果】


>これをechoで出力すると、
>-----------------------------
>Resource id #4
>-----------------------------
何をechoしたのか分かりませんが。。
mysql_query()の返り値はリソースなのでechoしてもDBの値が取れるわけではありません。

mysql_fetch_array()やmysql_fetch_assoc()を使いましょう。
http://jp.php.net/manual/en/function.mysql-fetch …
http://jp.php.net/manual/en/function.mysql-fetch …

また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);
    • good
    • 0

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)']とすることで取得できた気もする。
// 気持ち悪いから普通やらないと思うけど。
    • good
    • 2
この回答へのお礼

表記の方法でやったらできました。
mysql_query()の返り値についてよく分かっていなかったです。
ありがとうございました。

お礼日時:2008/02/20 13:12

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!