我在将日期插入 MYSQL 数据库时遇到问题。考虑以下变量:
$mydate = '18/06/2016'
//日/月/年格式
现在,我试图将此日期插入到我的 MYSQL 数据库的日期字段 (dob) 中,这会引发语法错误。以下是我的 PHP/MYSQL 查询:
insert into mytable (dob) values (date('dd/mm/yyyy', strtotime($mydate)))
以前,当我接受 mm/dd/yyyy 格式的日期时,很容易插入而无需任何转换,如下所示:
insert into mytable (dob) values ($mydate)
我在这里缺少什么?
更新:
我的实际查询是:
insert into users(fullname, dob, notes) values ('Joy', date('Y-m-d', strtotime('15/06/2016')), 'My notes');
语法错误是:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' strtotime('15/06/2016')), 'My notes')' at line 1
最佳答案
这可能是因为 MySQL 接受 YYYY-MM-DD
格式。尝试这样插入,
<?php
$mydate="18/06/2016";
$date = DateTime::createFromFormat('d/m/Y', $mydate);
$dateFormat=$date->format('Y-m-d');
$sql="INSERT INTO mytable (dob) VALUES ('".$dateFormat."')";
关于php - PHP 和 MYSQL 中格式 DD/MM/YYYY 的字符串到日期的转换不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37893673/