我正在尝试根据日期提交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'它起作用,但从提交表格起,它将无效。
那我在哪里弄错了?
我希望我能正确理解我的情况。
答案 0 :(得分:0)
由于时间18:25:58,问题可能正在发生。您可以将数据库字段从时间戳更改为日期,并使用strtotime(date("Y-m-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)