我有添加了一個新的記錄在我的數據庫的日期欄,它的設置與下面的代碼:插入日期有時插入全0
$dateset = date("Y-m-d");
$q = "INSERT INTO appts (date_set) VALUES ('$dateset')";
這是工作約80%的時間,是有任何隨機的原因會將日期添加爲「0000-00-00」?
我有添加了一個新的記錄在我的數據庫的日期欄,它的設置與下面的代碼:插入日期有時插入全0
$dateset = date("Y-m-d");
$q = "INSERT INTO appts (date_set) VALUES ('$dateset')";
這是工作約80%的時間,是有任何隨機的原因會將日期添加爲「0000-00-00」?
您應該檢查字段'date_set'的類型。
$dateset = date("Y-m-d");
$dateset = date("Y-m-d H:i:s"); //It is correct, but database push after time 00:00:00 (but it depends on the settings of the database) //$dateset = date("Y-m-d");
$dateset = time();
嘗試使用SQL:
$q = "INSERT INTO appts (date_set) VALUES (NOW())";
沒有任何理由,它隨機將添加日期爲 「0000-00-00」?
號
要麼$dateset
填充一些其他的方式或價值得到了更新,以0後來上。
這就是爲什麼我很困惑。在整個代碼的其他地方從未提及過$ dateset。我可能不得不使用NOW – robz228
我認爲這將最好的決定使用
$q = "INSERT INTO appts (date_set) VALUES (NOW())";
是'$ dateset' 100%肯定不是空的或無效的?代碼字面上是這樣的,還是'$ dateset'來自別的地方? – deceze
當您嘗試插入無效日期時,您會得到'0000-00-00'。您應該在您的應用程序中尋找在該表中插入記錄的其他位置。你的代碼看起來很好,但如果你想確保你可以使用'... VALUES(NOW())'。 – Vatev
@deceze這是字面上的代碼。這是'$ dateset'唯一一次被使用 – robz228