将 mm/dd/yyy 转换为 mysql 格式

Convert mm/dd/yyy to mysql format

  1. 我有一个带有日期字段的表单。
  2. 我 select 使用 jquery 日期选择器的日期。格式为 mm/dd/yyyy。
  3. 日期像 0000-00-00 一样插入到数据库中。
  4. 当我使用 die($startdate);取消注释时,这会以正确的格式输出正确的日期。

数据库类型:日期

代码:

$startdate = date('Y-m-d', strtotime($_POST['startdate']));
  //die($startdate); //<--outputs the correct date in the correct format when uncommented.

  try {

 $stmt = $db->prepare('INSERT INTO table (firstname,lastname,startdate) VALUES (:firstname, :lastname, :startdate)');
  $stmt->execute(array(
    ':firstname' => $_POST['firstname'],
    ':lastname' => $_POST['lastname'],
    ':startdate' => $_POST['startdate'],

   ));

  }

我也试过了

$startdate = date('Y-m-d', strtotime($_POST['startdate'])); 

在 try{} 中,但也不起作用。

我做错了什么?

这是给约翰·康德的。我相信这很简单,它有何不同以及为什么它不是重复的。如果您没有注意到我的代码中有一个 "ERROR"。我需要帮助找到问题。马克找到了它,现在它可以工作了。我仍然想知道为什么这很难理解。

找出不同之处:

$startdate = date('Y-m-d', strtotime($_POST['startdate']));
^^^^^^^^^^

    ':startdate' => $_POST['startdate'],
                    ^^^^^^^^^^^^^^^^^^^^

您正确转换了日期,但随后在查询中使用了原始的未转换版本。