将字符串日期格式化为mysql日期

时间:2015-01-03 15:59:21

标签: php mysql wordpress date

我一直在阅读有关如何格式化字符串日期的线程,但它不会添加日期。相反,它只是添加0000-00-00。怎么不格式化字符串日期?

$ date变量可以例如等于10/10/2014

    $date = str_replace('.', '-', $undate);
    $timestamp = strtotime($date);
    $newdate = date("Y-m-d", $timestamp);
    $wpdb->query("INSERT INTO " . $your_db_name . "
        (date, time, hometeam, awayteam, score)
         VALUES ($newdate, '$time', '$opp1', '$opp2', '$score')");

1 个答案:

答案 0 :(得分:1)

如果您已经获得了正确的日期格式Y-m-d,那么还需要引用这些格式:

VALUES ('$newdate', '$time', '$opp1', '$opp2', '$score')

@ hakre对以下评论的建议。它还有一个准备好的语句包装器,也可以用它来获得更安全的查询:

$prepared_statement = $wpdb->prepare("
    INSERT INTO $your_db_name
        (date, time, hometeam, awayteam, score)
        VALUES ( %s, %s, %s, %s, %s )
    ", 
    $newdate 
    $time, 
    $opp1,
    $opp2,
    $score
);

$wpdb->query($prepared_statement);

如果此$your_db_name(很可能是表名)也是用户输入,则需要将此列入白名单,因为您无法绑定表名。具有预定义表名的简单in_array()就足够了。