• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:配列をループさせてUPDATE)

配列をループさせてUPDATE

このQ&Aのポイント
  • 配列を使ってループさせたUPDATE文が上手く動作しない場合があります。具体的には、最後にチェックされたキーのみがUPDATEされ、他のキーは無視されてしまいます。
  • PHP上でのecho文では問題なく値が返されることを確認しましたが、UPDATE文の実行時に問題が発生します。
  • どのようにUPDATE文を記述すれば良いか、ご教示いただけないでしょうか?

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

仕様がいまいちわからないのですが forループの中で「$conn = db_conn()」する意味はあるのでしょうか? また、作成された$sqlがループ内で発行されていなようですが ループ後に発行しているならおそらく最終データしか更新されませんね

nazal2010
質問者

お礼

提示しているソースより下の箇所でクエリを発行していて、 確かにfor文の中にありませんでした。 for文の終了の中カッコの位置を変更して正常に走りました。 単純ミスには今後も気をつけます。 本当にありがとうございます。

その他の回答 (1)

  • stiffels
  • ベストアンサー率34% (25/72)
回答No.2

No.1の方もおっしゃるとおり、ループ内にExecuteSQL()のようなSQLを発行する関数がないですね。 おそらく、ループの外にあるのでしょうが、 > $sql = "UPDATE an SET "; この時点で前回代入されたSQL文は上書きされてしまっているので 当然の結果かと思います。

nazal2010
質問者

お礼

提示しているソースより下の箇所でクエリを発行していて、 確かにfor文の中にありませんでした。 for文の終了の中カッコの位置を変更して正常に走りました。 単純ミスには今後も気をつけます。 本当にありがとうございます。