如何从POST方法中检索日期值?

时间:2015-01-13 07:00:21

标签: php html mysql

我在HTML代码中有以下日期输入框:

<input type="date" name="DOB" size="20">

使用POST方法将表单数据传递给另一个PHP文件。并且日期会保存到变量中。

$DOB=$_POST['DOB'];

当我回显此变量时,它会打印保存在其中的日期值。但是,如果我在查询中使用此变量,则不会读取该值。查询不返回任何值。

这是我的疑问:

"SELECT site_no, name,NIC,gender,address,telephone FROM employee WHERE emp_no=$emp_no AND DOB=$DOB"

4 个答案:

答案 0 :(得分:1)

试试这个

使用带引号的单引号(假设您在$ DOB变量中有日期值)

"SELECT site_no, name,NIC,gender,address,telephone FROM employee WHERE emp_no=$emp_no AND DOB='$DOB'"

修改

MySQL期望DATE和DATETIME文字值作为'2001-01-01 00:00:00'等字符串单引号

答案 1 :(得分:1)

您需要将变量括在单引号中。使用以下代码

"SELECT site_no, name,NIC,gender,address,telephone FROM employee WHERE emp_no='$emp_no' AND DOB='$DOB'"

希望这有助于你

答案 2 :(得分:0)

$ DOB使用单引号

  "SELECT site_no, name,NIC,gender,address,telephone FROM employee WHERE emp_no=$emp_no AND DOB='$DOB'"

答案 3 :(得分:0)

为了实现可见性,最好在SQL中添加引号。重要的是要知道你正在使用什么类型并逃避价值观,特别是这样的事情 您的查询带有引号和缩进的可见性:

SELECT 
    `site_no`, `name`, `NIC`, `gender`, `address`, `telephone` 
FROM 
    `employee` 
WHERE 
    `emp_no` = '$emp_no' 
AND
    `DOB` = '$DOB'

保存日期的最佳做法是使用DATE / DATETIME或时间戳。您需要验证DOB格式和输入,删除不必要的字符等。查找real_escape_stringtimedate以获取PHP