我有一个像这样的日期:07/15/2015
,我试图将此日期插入到Date
数据库列中。我的问题是这个日期是数据库将日期保存为 0000-00-00
我如何才能像这样正确保存日期 2015-07-15
这里是我用来插入的代码:
function insertCareer($connection, $date, $title, $text){
if($stmt = $connection->prepare("INSERT INTO `careers` (date, title, text) VALUES (?, ?, ?)")){
$stmt->bind_param('sss', $date, $title, $text);
$stmt->execute();
$stmt->close();
echo 'Career has been added <br>';
}
}
我该如何解决这个问题?
最佳答案
MySQL 不理解您提供的日期格式。考虑到这是不明确的(在欧洲为 D/M/Y
,在美国为 M/D/Y
),您应该始终将日期传递为 Y/M/D
.
SELECT CAST('07/01/2015' AS DATE); -- this is null
SELECT CAST('2015/07/01' AS DATE); -- this is 2015-07-01
所以使用类似这样的东西来使其工作:
$date = date('Y-m-d', strtotime($date));
<小时/>
啊,快了 15 秒。
关于php - MySQL 和 PHP 将日期插入日期字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31412270/