以下主題與我正在嘗試提出的內容很接近,但考慮到現在在php中不推薦使用mysql函數,並且已準備好用於防止sql注入的語句,因此已過時。 insert all $_POST data into mysql using PHP?將所有發佈數據插入到MySQL數據庫中
基本上,我在我的數據庫中有大量的列,當我提交這個表單時,所有列都需要填滿。該表單將每列與同名輸入字段進行匹配(輸入字段上的名稱屬性與其所屬的列名稱相同。因此,$_POST['firstName']
進入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();
這實際上是我所尋找的比我所尋找的更多。我想我可以查詢表格並動態獲取字段名稱,而不是將所有字段名稱手動編入'$ fields'數組或者不安全,並將它們從$ _POST'中拉出來,我會得到它們從表本身填充'$ fields'數組。 –