让我向您展示我的代码:
$from = implode(" ",$_POST['from']);
$date_from = str_replace('/', '-', $from);
$l->from_start=date("Y-m-d", strtotime($date_from));
问题是我的数据库中的值为零。这很奇怪,因为当我回显 from_start 的值时,我得到 2016-06-10,我相信它的格式正确。
数据库字段类型为DATE
。
数据库正在接收数据,但显然新插件的日期格式有问题
有人可以给我一些提示或其他东西吗,因为我真的迷路了。
将数据插入数据库的 PDO 如下:
$query = 'INSERT INTO student_education (student_id,studies,school,from_start,to_end) VALUES (:a,:b,:c,:d,:e)';
$studies= $this->studies;
$school= $this->institution;
$from_start=$this->from_start;
$to_end=$this->to_end;
$stmt = $this->conn->prepare($query);
$loop = count($studies);
for($j = 0; $j < $loop; $j++) {
$studies_s = $studies[$j];
$school_s = $school[$j];
$from_s = $from_start[$j];
$to_s = $to_end[$j];
$stmt->bindValue(':a', $studentid) ;
$stmt->bindValue(':b', $studies_s);
$stmt->bindValue(':c', $school_s);
$stmt->bindValue(':d', $from_s);
$stmt->bindValue(':e', $to_s);
$stmt->execute();
}
正如我所说,数据正在被插入,但日期字段没有任何反应。我在 PDO 代码中没有看到任何错误:S
最佳答案
mysql日期格式为yyyy-mm-dd
不确定您正在使用 str_replace
做什么,但这应该有效:
$requestDate = date("Y-m-d", strtotime($_POST['from']));
关于php - php日期格式问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37738668/