-3

这是我的 HTML 代码:

        <p>Leave duration:<input type = "date" name="leave_start"/>to
                          <input type = "date" name="leave_end"/></p>

下面是我的 SQL 代码:

$sql = ("INSERT INTO  `leave` (  `Leave_Start` ,  `Leave_End` ) 
                    VALUES({$_POST["leave_start"]},{$_POST["leave_end"]}')");
4

1 回答 1

3

忽略代码中令人讨厌的SQL 注入攻击漏洞,在数据库中执行与日期相关的操作时,您必须使用 MySQL 的原生日期字符串格式,例如yyyy-mm-dd,或yyyy-mm-dd hh:mm:ss日期+时间。如果您尝试插入任何其他内容,MySQL 将尝试将其解释为日期,但不会太努力。任何无法正确解释的日期只会显示为您的0000-00-00版本。

这意味着

... VALUES ('2013-08-01', '2013-08-31');

会工作,但像

... VALUES ('Aug 01/2013', '31st August 2013')

将彻底失败。

于 2013-08-29T14:55:13.403 回答