将不正确的日期值插入我的

时间:2018-01-04 17:26:58

标签: php mysql

我在index.php页面上有一些日期输入框:

<label>Project Milestone Dates:</label>
<input type="date" name="date[]" value="<?php echo htmlspecialchars($date1);?>">
<input type="date" name="date[]" value="<?php echo htmlspecialchars($date2);?>">
<input type="date" name="date[]" value="<?php echo htmlspecialchars($date3);?>">
<input type="date" name="date[]" value="<?php echo htmlspecialchars($date4);?>">
<input type="date" name="date[]" value="<?php echo htmlspecialchars($date5);?>">
<input type="date" name="date[]" value="<?php echo htmlspecialchars($date6);?>">
<input type="date" name="date[]" value="<?php echo htmlspecialchars($date7);?>">
<input type="date" name="date[]" value="<?php echo htmlspecialchars($date8);?>">
<input type="date" name="date[]" value="<?php echo htmlspecialchars($date8);?>">
<input type="date" name="date[]" value="<?php echo htmlspecialchars($date10);?>">

当按下提交按钮时,我们转到另一个页面,该页面运行几个sql语句,将各种数据插入到几个表中。一切都插入第一个表,没有问题。我也可以做一个foreach()循环来显示数组的值,以便进行测试。第二个插入不正常,输入pId的值,但是没有输入日期数组,在DB中显示为0000-00-00。如何将数组中的每个日期插入到日期表中,并以pId作为PK?

这是插入的SQL:

$dates = $_GET['date'];

$sql2 = "INSERT INTO datetable (pId, date1)
    VALUES ('$pId', '$dates')";
    $conn->exec($sql2);

1 个答案:

答案 0 :(得分:0)

如果要插入不同的行,请使用foreach循环,

        $dates = $_GET['date'];
        foreach($dates as $d){
$sql2 = "INSERT INTO datetable (pId, date1)
    VALUES ('$pId', '$d')";
    $conn->exec($sql2);
}

如果你想把它放在同一行,

     foreach($dates as $d){
        $dat.=$d.'whatever you want';
}
$d=rtrim($dat,'whatever you want');//it will remove unwanted (whatever you want)
$sql2 = "INSERT INTO datetable (pId, date1)
    VALUES ('$pId', '$d')";
    $conn->exec($sql2);