如何根据表单中提交的日期搜索记录

时间:2014-12-17 13:34:35

标签: php mysql forms

我正在尝试根据日期提交mysql中的记录,该日期是在表单中提交的隐藏字段,但是我没有得到DB给定日期的任何结果,我知道有一个具有相同日期的记录。

我有以下代码:

$id = $_POST['pid']; //hidden field in form with sample value 1
$d = $_POST['d']; // hidden field in form with  sample value 2014-12-17 18:25:58
$ch = $con->query('SELECT * FROM '.PATDMBILL.' WHERE pid='.$id.' AND pfid=0 AND date="'.$d.'"'); 

在DB日期列中是当前时间戳。

当我为这个值分配$ d时,2014-12-17 18:25:58'它起作用,但从提交表格起,它将无效。

那我在哪里弄错了?

我希望我能正确理解我的情况。

2 个答案:

答案 0 :(得分:0)

由于时间18:25:58,问题可能正在发生。您可以将数据库字段从时间戳更改为日期,并使用strtotime(date("Y-m-d", $d));

仅从$ d传递日期

答案 1 :(得分:0)

重写代码:

$id = $_POST['pid'];
$d = $_POST['d'];
$query = 'SELECT * FROM '.PATDMBILL.' WHERE pid='.$id.' AND pfid=0 AND date="'.$d.'"';
echo $query;

$ch = $con->query($query);

然后,您将能够查看查询是否实际格式正确并修复了任何明显的问题。遗憾的是,没有足够的信息来说明解决方案是什么,但您应该能够复制并粘贴回显的“查询”并将其粘贴到用于构建查询的工具中(例如phpmyadmin或sequel pro)