PhP4.2 mysql4 に関して


○testテーブル 下記の4つのカラムを作りました。
(オート番号) ,(名前) ,(番号), (数字)
------------------------
オート番号 名前 番号 数字
1    太郎  h001 5
2    花子  h002 1
3     さとる h003 3
-----------------------

01.php
------------------------
$query="SELECT 数字 FROM test WHERE 番号=h001";
$aaa=mysql_query($query);
print($aaa);
------------------------

①ブラウザで確認した際に。
01.phpでprint($aaa)とした場合。
5と表示されるのではないでしょうか?
5と表示されません。
間違っていますでしょうか?

②下記のスクリプトがどのような記述になるか教えてください。※mysql_query関数を使うと思います。

(1)mysql関数にて。(番号)h001を選択します。
(2)その一致したレコードの(数字)を選択します。
(3)選択した(数字)の値に1を足します。

※その結果1行目の(数字)は6になるように設定したいです。

PHPに詳しい方おねがいします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2007/06/18 20:11:54
  • 終了:2007/06/25 20:15:03

回答(2件)

id:kn1967 No.1

kn1967回答回数2915ベストアンサー獲得回数3012007/06/18 21:25:34

ポイント35pt

(1)$aaa には結果セットが入りますのでphp側でのさらなる抽出が必要です。

//
//SQL文
$query="SELECT 数字 FROM test WHERE 番号=h001";
//
//SQLをMySQLに投げて結果セットを受け取ります。
$aaa=mysql_query($query);
//
//結果セットの中の最初の行の最初のフィールドを得る
//行番号は1からではなくゼロから始まります
echo mysql_result($aaa,0);
//
//結果セットを開放してメモリを空ける
//スクリプト終了時に自動開放されますが、一応入れておきます。
mysql_free_result($aaa);

http://php.benscom.com/manual/ja/function.mysql-result.php


(2)+1したいのであればUPDATEを実施する必要があります。

//
//SQL文
$query="UPDATE test SET 数字 = 数字 + 1 WHERE 番号=h001";
//
//SQLを投げます。
if($aaa=mysql_query($query)) {
    echo "成功";
} else {
    echo "失敗";
}

http://q.hatena.ne.jp/1181541137 のSQL文を投げる場合も方法は同じです。

私は自称でも詳しいとは言えませんが、このあたりは入門書的な本やホームページであれば必ず載っていますので

『php MySQL 入門』といったようなキーワードでの検索も行ってみてくださいね。

id:rrr3

大変わかりやすかったです。

ありがとうございます!!!

2007/06/18 23:29:03
id:wizemperor No.2

wizemperor回答回数379ベストアンサー獲得回数522007/06/18 21:29:18

ポイント35pt

mysql_query関数から返された結果にアクセスするためには、結果リソースをその他の関数に渡す必要があります。

http://jp.php.net/manual/ja/function.mysql-query.php


$query = "SELECT `数字` + 1 FROM `test` WHERE `番号`='h001'";
$result = mysql_query($query);
$aaa = $mysql_result($result, 0);
print($aaa);

PHPで計算する場合は、

$query = "SELECT `数字` FROM `test` WHERE `番号`='h001'";
$result = mysql_query($query);
$aaa = $mysql_result($result, 0) + 1;
print($aaa);

でどうでしょう?

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません