私が直面している課題に対して、誰かが私に提案を与えることを望んでいます。私は私が想像しているようにこれを行うことができるとは確信していないので、より経験豊富な人からアドバイスを探しています。フォーム全体をMySQLデータベースの行にルーピングしますか?
私は約20列のデータベーステーブルを持っています。残念ながら私はそれを変更することはできません。目標はフォームの提出を受け取り、このテーブルに挿入することです。だから私が持っているフィールド名は、データベースの列名と同じです。
従来の$ varWhatever = $ _POST ['whatever']の代わりに、フォーム全体(キーと値)をプルするだけです。 20回。 foreach($ _POST as $ key => $ value)
私の質問は、可能な限り、キーと値を置く方法でforeachループを実行するにはどうすればいいですか?単一のSQL文に変換しますか?
これも可能ですか、上記のより伝統的な方法に戻ってください。
ループを開始する前に、空の行を作成してIDを取得し、ループ内でIDと一致する行で更新クエリを実行することができます。しかし、うんざりする。
。 SQLインジェクションの脆弱性を避けるためには、これらの文字列をホワイトリストに登録する必要があります。また、より洗練されたコードがあります。 –
@ Don'tPanic:引用符で囲んでエスケープします(ただし、エスケープするには文字セットを認識する必要があるため、正しく行うのは難しい)。 – eggyal