【发布时间】:2014-02-20 19:58:55
【问题描述】:
我正在为我的网站编写一个 PHP 表单。 HTML 端向用户询问他们以 MM/DD/YYYY 格式输入的日期。当该字符串发送到 PHP 时,以下代码会将其更改为 MySQL 将识别的形式
$date = $_POST['date'];
$sqldate = date('Y-m-d', strtotime($date));
但是,当该日期输入我的 MySQL 数据库时,它输入为 1970-01-01,我不知道为什么。
注意:如果我回显 $sqldate,则会收到错误使用未定义的常量 sqldate - 在 C:/MYDIRECTORY 中假设为 'sqldate'
【问题讨论】:
-
您的 mySQL 字段的类型是什么?时间戳?
-
如果您的 $date 变量为 NULL,strtotime() 将返回 1979-01-01。打印您的 $date 变量以确保它不为空,然后按照@Mostafa 的建议进行操作。
-
您看到这种情况发生的
$_POST['date']的样本值是多少? -
如果我回显 $date 它会返回例如 08/18/1994。但是,如果我回显 $sqldate,我会收到一个错误:使用未定义的常量 sqldate - 在 C:\MYDIRECTORY 中假设为 'sqldate'
-
把var的名字改成datetest而不是sqldate
标签: php mysql sql forms datetime