我正在尝试将当前日期从php表单插入数据库。
我的查询是:
$sql3="INSERT INTO orderDetails (compName, package, cost, date) VALUES ('$companyName', '$package', '$cost_record', 'date()')";
这产生以下:0000-00-00 00:00:00,这显然是不对的。
有人可以推荐如何让它显示正确的日期/时间吗?
另外,我需要它采用以下格式:yyyymmddhhmmss - 这可能吗?我该怎么做呢?
谢谢!
答案 0 :(得分:1)
使用SQL NOW()
函数:
$sql3="INSERT INTO orderDetails (compName, package, cost, date) VALUES ('$companyName', '$package', '$cost_record', NOW()";
答案 1 :(得分:1)
你应该使用php的函数time()
或mysql的UNIX_TIMESTAMP
这是int(11)
并使用如下:
INSERT INTO orderDetails (compName, package, cost, date) VALUES ('$companyName', '$package', '$cost_record', UNIX_TIMESTAMP --
然后在PHP循环中使用date()
函数从php创建一个可视时间戳。
答案 2 :(得分:0)
$sql3="INSERT INTO orderDetails (compName, package, cost, date) VALUES ('$companyName', '$package', '$cost_record', 'date(dmy)')";
或
$time = date('Ymd g:i');
$sql3="INSERT INTO orderDetails (compName, package, cost, date) VALUES ('$companyName', '$package', '$cost_record', " .$time . ")";
答案 3 :(得分:0)
$date = date ( 'Y-m-d H:i:s');
$sql3="INSERT INTO orderDetails (compName, package, cost, date) VALUES ('$companyName', '$package', '$cost_record', '$date')";
答案 4 :(得分:0)
请参阅PHP手册,了解日期()的使用:http://php.net/manual/en/function.date.php
因此,根据您的需要,它将是:
$date = date("YmdHis");
$sql3="INSERT INTO orderDetails (compName, package, cost, date) VALUES ('$companyName', '$package', '$cost_record', '$date')";
您也可以考虑Fabrik的建议。使用UNIX时间戳可能是最可靠的方法。
答案 5 :(得分:0)
我认为你的date
列实际上是mysql DATETIME类型。
$sql3="INSERT INTO orderDetails (compName, package, cost, date) VALUES ('$companyName', '$package', '$cost_record', NOW())";
应该这样做。
您可以将它存储在DATETIME类型中(您将其视为yyyy-mm-dd hh:mm:ss),然后在从数据库中选择它时将其格式化为yyyymmddhhmmss
:
SELECT DATE_FORMAT(date, '%Y%m%d%H%i%s') FROM orderDetails
http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_date-format