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

标签 php mysql mysqli

我希望能够将 child 添加到数据库中,该数据库连接到他们的 parent (拥有成员 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));

关于PHP使用mysqli将日期插入mysql数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24385406/

相关文章:

c# - 如何在查询执行后获取 MySQL 服务器响应 (C#)

PHP代码访问MySQL数据库不回显

php - 在 mysqli 中循环遍历结果

php - php中Mysql的选择和使用

mysql - mysql中的空值sql连接

php - 如何在 codeigniter 中使用开始时间和结束时间检查行程开始日期和结束日期

c++ - MySQL++ 不返回任何内容

PHP - mysql_prep 已弃用

javascript - 使用现有的javascript来触发php中的if else

php - 通过在 laravel 中无法正常工作来加入和分组