我在修这里。我的代码不会使用一个表单将多个数据插入到mysql表中。这是我的代码 -
<?php
if (isset($_POST['submitted'])) {
include('config.php');
foreach($_POST['name'] as $row=>$nam) {
$name=$nam;
$class=$_POST['class'][$row];
echo "<br/>" . $name . "<br/>" . $class;
$sql="INSERT INTO multiple (name, class) VALUES ('$name','$class')";
}
if (!mysql_query($sql)) die('Error: ' . mysql_error());
echo "1 record added";
}
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<label>Name1:
<input id="name" name="name[]" type="text">
<input type="hidden" name="submitted" value="true" />
</label>
<label> Class1:
<input id="class" name="class[]" type="text">
</label>
<label>Name2:
<input id="name" name="name[]" type="text">
</label>
<label>Class2:
<input id="class" name="class[]" type="text">
</label>
<label>Name3:
<input id="name" name="name[]" type="text">
</label>
<label>Class3:
<input id="class" name="class[]" type="text">
</label>
<label>Name4:
<input id="name" name="name[]" type="text">
</label>
<label>Class4:
<input id="class" name="class[]" type="text">
</label>
<label>Name5:
<input id="name" name="name[]" type="text">
</label>
<label>Class5:
<input id="class" name="class[]" type="text">
</label>
<input value="Add" type="submit">
</form>
当我按下提交按钮时,没有任何内容插入mysql表中。仅创建空字段。如果我插入5个文本字段,我在sql表中得到5个空字段。
答案 0 :(得分:1)
Imroz,您使用[]
作为输入元素名称的一部分(而不是id)示例name="class[]"
,当表单发布时,它会构建一个数组。 PHP将识别的post对象将是$_POST['class']
但是,作为一个数组意味着在将数据插入数据库之前必须稍微处理它,因为你不能只是(也许你可以)将一个数组放入数据库
如果你做了
for($x=0;$x < count($_POST['class']); $x++)
{
echo $_POST['class'][$x].'<br>';
}
您可以通过名为class[]
当然,这是您需要做的总体核心示例,但我只想表达您发布的数据的最新动态。
答案 1 :(得分:1)
我认为你的插入查询有问题.....试试这个
$query = mysql_query("INSERT INTO category VALUES('','$name','$class','')") or die(mysql_error());
答案 2 :(得分:0)
您的}
位置错误。
}
之后的$sql=
应该在echo "1 record added";
之后移动
我重新格式化您的代码以使用正确的缩进,错误很明显。