PHP使用mysqli将日期插入到mysql数据库中

时间:2014-06-24 11:26:07

标签: php mysql mysqli

我希望能够将子项添加到数据库中,这些数据库与父项(具有成员ID MID)相关联。我认为错误在于日期格式(至少是我所相信的),我也尝试使用strtotime($ dob),但这并没有改变任何东西。

   $name = htmlspecialchars($_GET['Name']);
   $dob = $_GET['DOB'];
   $newDOB = date("Y-m-d", $dob);
   $mid = $_GET['mid'];

   if(isset($_GET['Name'], $_GET['DOB'], $_GET['mid']))
       $alert = true;
   if(!empty($name) && !empty($newDOB) && !empty($mid))
       add_family_member($mid, $newDOB, $name);

添加成员的功能:

function add_family_member($mid, $dob, $name)
{
    global $con;
    $sql = "INSERT INTO Children(MID, DOB, Name) VALUES(?, ?, ?)";
    $stmt = $con->prepare($sql);
    if($stmt)
    {
        $b = $stmt->bind_param("iss", $mid, $dob, $name);
        if($b)
        {
            $e = $stmt->execute();
            if($e)
                return true;
        }
    }

    return false;
}

如果需要,这是用于输入数据的表格:

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="get">
  <input type="hidden" name="cmd" value="addmembers">
    <table class="infotable">
      <tr>
        <td>Navn: </td>
        <td><input type="text" name="Name" required> </td>
      </tr>
      <tr>
        <td>Fødselsdato: </td>
        <td><input type="date" name="DOB" required></td>
      </tr>
      <tr>
        <td></td><td><input type="submit" value="Tilføj"><input type="reset" value="Reset"></td>
      </tr>
  </table>
</form>

1 个答案:

答案 0 :(得分:0)

date()函数适用于time()值,而不适用于字符串,因此您需要先将输入的日期转换为时间值,然后再使用date()转换它

$newDOB = date("Y-m-d", strtotime($dob));