使用以下代码,只将最后一条记录插入数据库。但是,如果我回显循环中的数据,它会回显所有记录并回显$ i显示它递增。有点新的mysql所以欢迎任何建议
while($i <= $num_to_enter){
$name[$i] = $_POST['name'][$i];
$lname[$i] = $_POST['lname'][$i];
$email[$i] = $_POST['email'][$i];
$phone[$i] = $_POST['pfirst'][$i].$_POST['psecond'][$i].$_POST['pthird'][$i];
$skill[$i] = $_POST['skill_level'][$i];
$sex[$i] = $_POST['sex'][$i];
$sql = "INSERT INTO `" . $mytable . "` (
`FirstName`,
`LastName`,
`email`,
`phone`,
`SkillLevel`,
`sex`
) VALUES (
'$name[$i]',
'$lname[$i]',
'$email[$i]',
'$phone[$i]',
'$skill[$i]',
'$sex[$i]'
);";
$i++;
}
答案 0 :(得分:0)
你确定吗?您甚至没有在代码上的任何位置运行只将最后一条记录插入数据库
mysqli_query($conn,$sql)
。
答案 1 :(得分:0)
您正在定义sql查询但是您没有执行它,请尝试将代码更改为:
while($i <= $num_to_enter){
$name[$i] = $_POST['name'][$i];
$lname[$i] = $_POST['lname'][$i];
$email[$i] = $_POST['email'][$i];
$phone[$i] = $_POST['pfirst'][$i].$_POST['psecond'][$i].$_POST['pthird'][$i];
$skill[$i] = $_POST['skill_level'][$i];
$sex[$i] = $_POST['sex'][$i];
$sql = "INSERT INTO `" . $mytable . "` (
`FirstName`,
`LastName`,
`email`,
`phone`,
`SkillLevel`,
`sex`
) VALUES (
'$name[$i]',
'$lname[$i]',
'$email[$i]',
'$phone[$i]',
'$skill[$i]',
'$sex[$i]'
);";
mysqli_query($con, $sql) or die(mysqli_error($con));
$i++;
}
答案 2 :(得分:0)
while($i <= $num_to_enter){
$name[$i] = $_POST['name'][$i];
$lname[$i] = $_POST['lname'][$i];
$email[$i] = $_POST['email'][$i];
$phone[$i] = $_POST['pfirst'][$i].$_POST['psecond'][$i].$_POST['pthird'][$i];
$skill[$i] = $_POST['skill_level'][$i];
$sex[$i] = $_POST['sex'][$i];
$sql = "INSERT INTO `" . $mytable . "` (
`FirstName`,
`LastName`,
`email`,
`phone`,
`SkillLevel`,
`sex`
) VALUES (
'$name[$i]',
'$lname[$i]',
'$email[$i]',
'$phone[$i]',
'$skill[$i]',
'$sex[$i]'
);";
mysql_query($sql);
$i++;
}