是否可以將多個輸入字段插入到同一個表名中。我的數據庫設計Php表單年齡表單有五個輸入字段<form action="action.php" method="post">input1 <input type="text" name="age[]">input2<input type="text" name="age[]">input3<input type="text" name="age[]">input4<input type="text" name="age[]">input5<input type="text" name="age[]"><input type="submit" value="submit">PHP腳本<?php$statement = $pdo->prepare("insert into AGEGroup (AGE) values ('$_POST['age']')"); $statement->execute(); echo "Added Successfully.";?>它只是添加了一條記錄。怎么辦5條記錄都可以插入數據庫???非常感謝或者使用for循環???<?phpfor($i=0, i<$_Post['age'][i],i++){$statement = $pdo->prepare("insert into AGEGroup (AGE) values ('$_POST['age'][i]')"); $statement->execute();} echo "Added Successfully.";?>
2 回答

ibeautiful
TA貢獻1993條經驗 獲得超6個贊
由于所有 [x] 插入的查詢保持相同,因此您應該在循環外進行準備,因此只完成一次(節省了不必要的服務器往返)
您的準備還應該使用參數而不是將值直接連接到查詢中,以避免SQL 注入攻擊
$stmt = $pdo->prepare("insert into AGEGroup (AGE) values (:age)");
foreach ($_POST['age'] as $age) {
? ? $stmt->execute([':age'=>$age]);
}

函數式編程
TA貢獻1807條經驗 獲得超9個贊
雖然有可能在 for 循環的每次迭代中打開連接并不是最好的選擇。
我將連接整個字符串并僅發送一次查詢。
$query = "";
for($i = 0, $i < $_Post['age'][$i], $i++{
$query .= "INSERT INTO AGEGroup (AGE) VALUES ('{$_POST['age'][$i]}');"
}
$statement = $pdo->prepare($query);
$statement->execute();
注意變量名前的 $ 符號,在 PHP 中它為解釋器標記即將到來的變量。
- 2 回答
- 0 關注
- 233 瀏覽
添加回答
舉報
0/150
提交
取消