[PHP+Mysql]

select文で、updateをループさせる事は可能でしょうか?
もし出来ないという事ならその代替方法をお願いいたします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答3件)

id:kekekun No.1

回答回数13ベストアンサー獲得回数0

ポイント20pt

質問を推測しますにデータベースを連続更新したいと言う事でしょうか?

MySQLをPHPから使われているのであれば

PHPのfor文、もしくはWhile文でupdateのSQLを必要なだけ呼んでやればよいのではないでしょうか?

id:akame

ご回答ありがとうございます。

はい、その通りです。forやwhileの中にupdateを入れると、その時点でエラーになってしまうのです。。

2004/11/18 10:39:02
id:upride No.2

回答回数220ベストアンサー獲得回数1

ポイント30pt

$MyQuery = ”SELECT 〜 ”;

$MyResult = mysql_query( $MyQuery , DB接続記述 );

while($MyData = mysql_fetch_array( $MyResult , MYSQL_ASSOC ))

{

$MyQuery = $MyData[キー項目]をWhere句に配したUPDATE文 〜

mysql_query( $MyQuery , DB接続記述 );

}

こんな感じで

PHPのソースとして実現するのが宜しいかと

select文で取得した結果をループさせて

それをもとにUpdate文を実行していきます

他の手法としては

MySQL4から? 確かストアドプロシージャが

扱えるようになったはずですので

そちらで実装してみるのもよろしいかと

id:akame

ご回答ありがとうございます。

なるほど、、selectはwhileの中に入れられるという事ですね!再トライしてみます。

2004/11/18 10:47:16
id:masal No.3

回答回数43ベストアンサー獲得回数0

ポイント25pt

PHPにデフォルトで組み込まれている、PEARクラスの「DB_common::executeMultiple()」メソッドを使うのか簡単でスマートです。

リンク先にサンプルコードがあります。

PEAR本家の日本語マニュアルは現在見られないのですが、1x1さんの日本語訳のお世話になれるとおもいます。

http://pear.php.net/

PEAR :: The PHP Extension and Application Repository

id:akame

ご回答ありがとうございます。

updateをループさせる事は可能になりました。

別の選択肢として、大変有益な情報をありがとうございます。

これにて終了させていただきます。

2004/11/18 12:24:07

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

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

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

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

回答リクエストを送信したユーザーはいません