日期格式问题PHP
让我告诉你我的代码:日期格式问题PHP
$from = implode(" ",$_POST['from']);
$date_from = str_replace('/', '-', $from);
$l->from_start=date("Y-m-d", strtotime($date_from));
的问题是,我在我的分贝越来越零。这很奇怪,因为当我回应价值from_start我得到2016-06-10我相信它是在正确的格式。
db字段类型为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']));
这是他们已经有的东西( - 不必要的字符串替换),请参阅'我回应价值from_start我得到2016-06-10',这可能是问题进一步向下他们插入记录。 – ArtisticPhoenix
It is very strange because when I echo the value from_start I get 2016-06-10
。既然你得到了正确的日期,那么为你生成MySQL格式日期的代码几乎可以。然而,假设问题可能超出您在此处发布的代码,这可能是符合逻辑的。在某处行之后:$l->from_start = date("Y-m-d", strtotime($date_from));
这是建议要么发表您插入逻辑(SQL)或重温您的代码:
<?php
// FROM WHAT YOU SAID... THE 3 LINES OF CODE BELOW ARE "GREEN"
$from = implode(" ",$_POST['from']); //CONVERT DATE ARRAY TO STRING
$date_from = str_replace('/', '-', $from); // REPLACE SLASHES WITH DASHES
$l->from_start = date("Y-m-d", strtotime($date_from));
Y-M-d是正确的格式。我认为str_replace可能是不必要的,字符串到时间会识别m/d/Y,如果你有2016-06-10那么这个问题可能在其他地方。您应该检查用于插入记录的实际sql。 – ArtisticPhoenix