我有一个带复选框的html表单,我设法使用数组将值存储到我的数据库。
我在表单中添加了一个名称字段,并在mysql表上添加了一列。
问题是,新添加的名称字段没有存储任何值,并且导致上一代码出现故障。我很确定我对$fname
值的定义是不正确的,这里是完整的PHP代码
$dbcon = mysqli_connect("$host","$username","$password","$db_name") ;
if (!$dbcon) {
die('error connecting to database'); }
echo 'Courses successfully registerd , ' ;
// escape variables for security
$studentid = mysqli_real_escape_string($dbcon, $_GET['studentid']);
$fname = $_POST["name"];
// Get Cources
$name = $_GET['ckb'];
if(isset($_GET['ckb']))
{
foreach ($name as $courcess){
$cc=$cc. $courcess.',';
}
}
//$ckb = join (', ', var_dump($_POST['ckb']));
$sql="INSERT INTO courses (studentid, ckb)
VALUES ('$studentid', '$cc', $fname)";
if (!mysqli_query($dbcon,$sql)) {
die('Error: ' . mysqli_error($dbcon));
}
echo " Thank you for using IME Virtual Registeration ";
mysqli_close($dbcon);
?>
答案 0 :(得分:3)
$sql="INSERT INTO courses (studentid, ckb)
VALUES ('$studentid', '$cc', $fname)";
是你的问题。您正在尝试将三个值插入两个字段。您需要在ckb之后添加新字段,以便可以将参数$ fname插入其中。