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

时间:2015-09-04 21:44:46

标签: php mysql pdo

  1. 我有一个带日期字段的表单。
  2. 我使用jquery datepicker选择日期。格式为mm / dd / yyyy。
  3. 日期插入db like 0000-00-00。
  4. 当我使用die($ startdate);这会在取消注释时以正确的格式输出正确的日期。
  5. 数据库类型:日期

    代码:

    $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 {}中

    但是也不起作用。

    我做错了什么?

    这是John Conde。我相信这很简单,这是不同的,为什么它不重复。如果您没有注意到我的代码中存在“错误”。我需要帮助找到问题。马克找到了它,现在它起作用了。我仍然想知道为什么这么难以理解。

1 个答案:

答案 0 :(得分:1)

发现差异:

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

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

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