次のトピックは私が尋ねようとしているものに近いですが、mysql 関数が現在 php で非推奨になっており、sql インジェクションを防ぐための準備済みステートメントがあることを考えると、時代遅れです。PHP を使用してすべての $_POST データを mysql に挿入しますか?
基本的に、データベースには膨大な数の列があり、このフォームを送信するときにすべて入力する必要があります。$_POST['firstName']
フォームは、各列を同じ名前の入力フィールドと照合します (入力フィールドの name 属性は、それが属する列名と同じです。列も同様ですfirstName
)。
mysqli または PDO を使用して、すべての POST データを簡単に取得し、各フィールドを手動で処理せずに MySQL テーブルに自動的に挿入できる方法はありますか? プリペアド ステートメントを使用してそれらをすべてコーディングすることもできますが、大量の列があり、可能であればすべてを一度に実行したいと考えています。
これは、完成させたくないロングバージョンの始まりです。
$stmt = $connection->prepare("INSERT INTO area_retreat
(user,firstName,lastName,...etc)
VALUES
(?,?,?,...etc)
ON DUPLICATE KEY UPDATE
user=VALUES(user),
firstName=VALUES(firstName),
lastName=VALUES(lastName),
...etc
");
$stmt->bind_param("sss",
$username,
$_POST['firstName'],
$_POST['lastName']
);
$stmt->execute();