>我有一个包含多个字段的表单,如下所示:
<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
是数据库连接。 您需要在代码前面的某个位置指定此连接。