我想將PHP中的日期時間保存到我的數據庫中,但我不能。數據庫中的日期時間值始終設置爲0000-00-00 00:00:00
。我究竟做錯了什麼?無法在數據庫中保存php日期時間
我的代碼:
$today = new DateTime();
$dt = $today->format('Y-m-d H:i:s');
$sql = "UPDATE wp_posts SET post_date = $dt, post_date_gmt = $dt WHERE ID = $id";
我想將PHP中的日期時間保存到我的數據庫中,但我不能。數據庫中的日期時間值始終設置爲0000-00-00 00:00:00
。我究竟做錯了什麼?無法在數據庫中保存php日期時間
我的代碼:
$today = new DateTime();
$dt = $today->format('Y-m-d H:i:s');
$sql = "UPDATE wp_posts SET post_date = $dt, post_date_gmt = $dt WHERE ID = $id";
簡單,日期時間是字符串,而不是整數。
$today = new DateTime();
$dt = $today->format('Y-m-d H:i:s');
$sql = "UPDATE wp_posts SET post_date = '$dt', post_date_gmt = $dt WHERE ID = $id";
會工作得更好:)
你可以使用,
$dt = date("Y-m-d H:i:S");
$sql = "UPDATE wp_posts SET post_date = '$dt', post_date_gmt = '$dt' WHERE ID = $id";
這不會幫助真正的問題在這裏。您可以將其作爲評論發佈。 (儘管在這裏實際使用面向對象的方法可能更受歡迎) –
這並沒有解決原始問題。報價在這種情況下並沒有什麼不同。 –
而不是使用日期時間從PHP,你現在應該使用mysql inbuit()函數,沒有必要寫額外的代碼行在PHP中。
$sql = "UPDATE wp_posts SET post_date = now(), post_date_gmt = now() WHERE ID = $id";
n您可以阿洛斯設置NOW()在你的表字段所以你不需要設置的查詢,當記錄將插入,更新它會自動設置爲當前日期時間。
CREATE TABLE tablename
(
fiedlId int NOT NULL,
fieldName varchar(50) NOT NULL,
fieldDate datetime NOT NULL DEFAULT NOW(),
PRIMARY KEY (fiedlId)
)
乾杯!
你爲什麼不使用mysql 的時間戳功能,用於新表
$sql = CREATE TABLE newtb (current_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP);
or
$sql = CREATE TABLE newtb (current_time DATETIME DEFAULT NOW());
修改表
$sql = CREATE TABLE newtb MODIFY current_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP;
or
$sql = CREATE TABLE newtb MODIFY current_time DATETIME DEFAULT NOE();
Y/M/d H:我:沒什麼? –
@DonovanCharpin Nope – Loko
請使用搜索。 [任何這些](http://stackoverflow.com/search?q=%5Bphp%5D+%5Bmysql%5D+0000-00-00+00%3A00%3A00)會有幫助 –