繁体   English   中英

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

[英]PHP insert date into mysql database with 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>

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM