2011-09-07 84 views
0

您好對於發佈日期有一個HTML 5日期字段,但並非所有項目都有發佈日期,所以我希望能夠將它設置爲null,並完全隱藏這些日期字段項目。當我離開日期字段時,什麼都沒有發生。前一天(2011年1月1日)仍然存在(我認爲他們有一個發佈日期,但我不知道這是什麼,所以我只是選擇了一箇中餐桌前不允許null)。我已經改變它現在允許null,我已經設法使其在phpMyAdmin中爲空,但不是使用我自己的窗體和PHP。當離開日期字段爲空時,將MySQL數據庫中的日期設置爲NULL

任何想法?

+0

您必須手動清理表格以清空填充虛假日期的那些字段。除非有其他方法來挑選那些可以爲更新查詢編寫'where'子句的記錄,否則您需要進行全表編輯以清除僞造值。 –

+0

那麼如果我輸入一個新的帖子,它會發生什麼,它沒有釋放。另外什麼是空的日期字段的輸出?我想寫一個if語句將其設置爲null。 – Alex

+0

顯式插入空值,以防db決定分配默認值。而一個db null(和普通的空字符串)將在PHP中輸出一個空字符串。 –

回答

1

有兩種主要的方式是。

第一,是不插入/更新它是空的日期,通過完全脫離sql。您可以構建準備好的語句循環日期值。

第二種方法是將日期值封裝到函數中,該函數檢查它是否爲空。訣竅是你通常會包含一個日期(雙引號),但如果你想插入null(而不是字符串「null」),你不能這麼做。

我個人使用pre-pdo class I在發送任何sql到數據庫之前編寫準備sql和數據。

在pdo或mysqli中,可能已經集成了精確的,但我不知道它們。

你的問題:「什麼是空日期值的結果?」我邀請您閱讀that old answer

0

離開日期字段NULL

INSERT INTO table SET dt=NULL 
+0

你的意思是我手寫零?我想我明白我現在必須做什麼。 – Alex

+0

是的。 NULL是非常有效的mysql關鍵字,正是這個目的 –

相關問題