将日期插入数据库

时间:2010-08-31 18:57:22

标签: php sql date

我正在尝试从表单中检索用户数据并将数据保存到数据库中。我正在尝试检索以下数据: 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>

“年度”列的数据类型为日期。我是否需要指定其他内容才能将日期保存在数据库中。

4 个答案:

答案 0 :(得分:1)

我将选项标签中的值从“2010”更改为“2010-06-12”,“2011-06-12”,2012-06-12“,”2013-06-12“....等等...(年 - 月 - 日)并能够将这些值保存到数据库中。

<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>

答案 1 :(得分:0)

它可能取决于所使用的特定数据库,但通常您将日期指定为文本,例如“2005-10-15”。所以,update mytable set somedate = '2010-10-15'可以解决问题。

答案 2 :(得分:0)

如果你只想保存年份,你可以选择YEAR列(或者你可以选择SMALL(4))。

答案 3 :(得分:0)

如果您只需要YEAR,我不同意您添加模糊月份和年份的最后答案。

我建议更新您的table结构,将列类型更新为YEAR