将表单中的多个值插入到数组中



>我有一个包含多个字段的表单,如下所示:

<input type="text" name="name[]" value="">
<input type="text" name="name[]" value="">
<input type="text" name="name[]" value="">

我正在尝试将该表单和这些值插入到数据库中的数组中:

<?php 
$i = 0;
foreach ($_POST as $val) {
$name = $_POST['name'][$i];
mysqli_query("INSERT INTO main (name) VALUES ('$name')");
$i++;
} 
?>

这给了我错误"mysqli_query(( 期望至少 2 个参数,1 个给定">

我还尝试将查询替换为:

mysqli_query($connect, "UPDATE main
SET name='$name'
WHERE id=2");

但我认为这实际上并不是将 3 个名称值发布到数组中。相反,它只发布一个。

我尝试使用在此网站上找到的多个代码,但我仍然无法弄清楚!

你正在循环遍历$_POST,没有必要这样做,尝试循环遍历$_POST['name'],像这样:

如果呈现表单的文件与接收帖子的文件相同,则必须先验证是否已发布帖子,然后再尝试循环遍历'name'

if(array_key_exists('name', $_POST){
foreach($_POST['name'] as $name){
mysqli_query($connect, "INSERT INTO main (name) VALUES 
('$name')");
}
}

试试这个:

mysqli_query($connect, "INSERT INTO main (name) VALUES ('".$name."')");

这里$connect是数据库连接。 您需要在代码前面的某个位置指定此连接。

最新更新