フォーム フィールドをループして、フォーム フィールド データを動的に取得し、データベースに挿入したいと考えています。フォーム フィールドごとに値をバインドする必要はなく、配列内の値をループ処理します。私のやり方ではうまくいかないようです。助言がありますか?
ありがとう
<?php
$FormFields = array();
$Values = array();
global $i;
$i = 0;
$conn= new PDO(DB_DSN, DB_USERNAME, DB_PASSWORD);
foreach($_POST as $key => $value) {
$FormFields[++$i] = $key;
$Values[$i] = $value;
echo $FormFields[$i] . "<br />";
echo $Values[$i] . "<br />";
//loop through all form fields and bind value
$sql = "INSERT INTO sectiona ($FormFields[$i]) VALUES (:$i)";
$st = $conn->prepare($sql);
$st->bindValue(":$i", $Values[$i]);
$st->execute();
}
echo "Total Fields: " . $i;
$conn = null;
?>
編集:
データ エントリごとに新しい行を作成するのはなぜですか? 1列だけじゃないの?