mysql日期格式YYYY-MM-DD报告无效

时间:2017-08-21 14:23:56

标签: php mysql

我有一个php脚本,它将一行添加到带有DATE格式列的db表中,例如2016年11月2日。

我的查询将数据添加到表中,如下所示:

$duser = $_POST['username'];
$tdate = date("Y-m-d");

//build query
$query = " 
        INSERT INTO emodata (
            username,
            date
        ) VALUES (
            ':duser',
            ':tdate'
        ) 
    "; 

    // create tokens 
    $query_params = array( 
        ':duser' => $duser,
        ':tdate' => $tdate
    ); 

    try
    { 
        $stmt = $db->prepare($query); 
        $result = $stmt->execute($query_params); 
    } 
    catch(PDOException $ex) 
    { 
        die("Failed to run query - $tdate : " . $ex->getMessage()); 
    } 

出于某种原因,mySQL似乎并不认为格式是正确的。我收到的错误是:

  

SQLSTATE [22007]:日期时间格式无效:1292日期值不正确:':tdate'对于列'日期'在第1行

我检查了php日期格式,它确实生成了YYYY-MM-DD格式,这是mysql DATE的正确格式...

你们认为这可能与准备好的声明和参数替换有关吗?如果是这样,有没有办法解决这个问题,还是必须使用其他形式的安全查询?

0 个答案:

没有答案