2010-08-31 229 views
-2

我試圖從表單中檢索用戶數據並將數據保存到數據庫中。我試圖檢索下列數據: 1)名2)姓氏3)主要4)年將數據插入數據庫

SQL語法:

CREATE TABLE `tblStudents` (
    `id` int(11) NOT NULL AUTO_INCREMENT, 
    `first_name` varchar(30) NOT NULL, 
    `last_name` varchar(50) NOT NULL, 
    `major` varchar(40) NOT NULL, 
    `year` date NOT NULL, 
    PRIMARY KEY (`id`) 
) 

我能夠保存所有,但數據庫中的年份爲。現在,選擇的年份不保存在數據庫中。像這樣:0000-00-00

在表格中,用戶從下拉菜單中選擇年份。

<select name="year" id="year"> 
     <option value="2010">2010-06-12</option> 
     <option value="2011">2011-06-12</option> 
     <option value="2012">2012-06-12</option> 
     <option value="2013">2013-06-12</option> 
     <option value="2014">2014-06-12</option> 

    </select> 

「年」列的數據類型是日期。我是否需要指定其他內容才能將日期保存到數據庫中。

+0

您是否在任何地方收到異常? – Phil 2010-08-31 19:00:03

+0

您可以發佈您用於插入的PHP/MySQL代碼嗎? – 2010-08-31 19:00:07

+0

這很荒謬的問「我做錯了什麼」,而不是提供關於你在做什麼的信息 – 2010-08-31 19:00:46

回答

0

它可能取決於正在使用的特定數據庫,但通常您將日期指定爲文本,例如'2005-10-15'。所以,update mytable set somedate = '2010-10-15'將做的伎倆。

1

我將選項標籤中的值從「2010」更改爲「2010-06-12」,「2011-06-12」,2012-06-12「,」2013-06-12「... .etc ...等(年,月,日),並能夠將這些值保存到數據庫中。

<select name="year" id="year"> 
     <option value="2010-06-12">2010-06-12</option> 
     <option value="2011-06-12">2011-06-12</option> 
     <option value="2012-06-12">2012-06-12</option> 
     <option value="2013-06-12">2013-06-12</option> 
     <option value="2014-06-12">2014-06-12</option> 

    </select> 
+0

哦。那麼沒關係,那麼。如果解釋了爲什麼變更解決了問題......以及實際問題*是什麼,這個答案會更有用。 ...就此而言,無論選擇哪個日期,您的解決方案似乎都會插入同一年(2010年)。不太可能,這是正確的行爲。 – 2010-08-31 19:06:34

+1

如果你想保存一個完整的日期與月份和日期,比你的解決方案就好。如果您只需要年份,並且月份和日期不重要(或者始終如此),請按照我提到的類型YEAR創建「年份」列。 – 2ndkauboy 2010-08-31 19:08:48

+0

@ Kau-Boy感謝您的建議。是的,所有的日期都是一樣的。試圖看看我是否能夠將年 - 月 - 日保存到數據庫中。如果我能做到這一點,那麼我應該可以做到這一點 - 所以我只是複製和粘貼年 - 月日,但只改變了年,以節省時間。但現在,我知道一個作品... :)我會修復日期。但再次感謝。 – jc70 2010-08-31 19:17:00

0

如果你只是想保存一年你可以採取列類型YEAR(或者你可以採取小班(4))。

+0

感謝您的提示。我會記住這一點,如果我只想保存一年。 – jc70 2010-08-31 19:11:19

0

如果你只需要YEAR,我不加入一個模糊的年份和月份的你最後的答案一致。

我會建議是updat e您的table結構將列類型更新爲YEAR