duaiwo9093 2015-09-04 16:23
浏览 106
已采纳

使用mysqli保存时间戳

I'm having a problem by saving a jQuery UI datepicker date into a TIMESTAMP column via MySQLi.

My variable $_POST['schedule'] contains 04-09-2015 (dd-mm-yy). I use the following prepared statement:

$stmt = $mysqli->prepare("INSERT INTO campaigns (schedule) VALUES (?)");
$stmt->bind_param("s", strtotime($_POST['schedule']));

When I check the database, the corresponding timestamp column always resets to 0000-00-00 00:00:00. If I echo strtotime($_POST['schedule']) I get a valid UNIX timestamp.

Also changing the bind_param from s to i doesn't works.

I feel like I'm doing a trivial mistake but can't understand what it is. What am I doing wrong?

  • 写回答

2条回答 默认 最新

  • dsk61780 2015-09-04 16:52
    关注

    The only way I found to fix this is to use the following and change the format:

    $date = DateTime::createFromFormat('d-m-Y', $_POST['schedule']);
    $date = $date->format('Y-m-d');
    $stmt = $mysqli->prepare("INSERT INTO campaigns (schedule) VALUES (?)");
    $stmt->bind_param("s", $date);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?