我有一些PHP代码在mySQL数据库上进行查询 - 如果我在phpmyadmin中执行查询它可以工作 - 但如果我在php中执行相同的搜索它不起作用
从phpmyadmin复制工作正常返回所有行
SELECT * FROM contract WHERE DATE(`fdos`) >= '2013-05-01' And DATE(`fdos`) <= '2013-05-09'
我的PHP代码无法工作(既不查询)也只返回30行中的3行。日期的格式不能改变,这就是我如何_GET数据。
$startdate = "2013-05-01";
$enddate = "2013-06-01";
function getAllContracts($startdate, $enddate)
{
$sd = date('Y-m-d', strtotime(str_replace("-","/",$startdate)));
$ed = date('Y-m-d', strtotime(str_replace("-","/",$enddate)));
$query1="SELECT * FROM contract WHERE DATE(`fdos`) >= '$sd' And DATE(`fdos`) <= '$ed'";
$query2="SELECT * FROM contract WHERE DATE(`fdos`) >= Date('$startdate') And DATE(`fdos`) <= Date('$enddate')";
}
要添加的其他内容是mysql我将日期存储为此格式为“2013-05-01”的文本,这就是为什么我必须调用DATE
答案 0 :(得分:1)
你必须“围绕这个变量
$startdate = "2013-05-01";
$enddate = "2013-06-01";
答案 1 :(得分:0)
我认为问题出在查询本身,尝试使用BETWEEN
作为comaprison
$query1="SELECT * FROM contract WHERE DATE(`fdos`) BETWEEN '$sd' AND '$ed'";