我有这个查询! 为什么不起作用?
$start=$_REQUEST['to'];
$end=$_REQUEST['from'];
echo $start1 = strftime('%Y-%m-%d', strtotime($start));
echo $end1 = strftime('%Y-%m-%d', strtotime($end));
echo $data = mysql_query( "select * from cdr
WHERE DATE(calldate) BETWEEN '$start1' AND '$end1';
")
我的意思是$ date_get的输出是:20121203,它应该可以工作。如果我设置它可以工作:
echo $data = mysql_query( "select * from cdr
WHERE DATE(calldate) BETWEEN'20121201' AND '20121203';
")
答案 0 :(得分:1)
strftime Returns a string formatted according format using the given timestamp
。所以在第一个查询中加上引号并得到像这样的结果
echo $data = mysql_query( "select * from cdr
WHERE DATE(calldate) BETWEEN '$start1' AND '$end1';
");
答案 1 :(得分:1)
你必须替换它:
$data = mysql_query( "select * from cdr
WHERE DATE(calldate) BETWEEN $start1 AND $end1;");
用这个
$data = mysql_query( "select * from cdr
WHERE DATE(calldate) BETWEEN '$start1' AND '$end1'");
没有回声的最终代码:
$start=strftime('%Y-%m-%d', strtotime($_REQUEST['to']));
$end=strftime('%Y-%m-%d', strtotime($_REQUEST['from']));
$data = mysql_query( "select * from cdr
WHERE DATE(calldate) BETWEEN '$start' AND '$end'");
答案 2 :(得分:1)
使用
BETWEEN '$start1' AND '$end1'
或者你可以使用
where DATE(calldate) >= "$start1" and DATE(calldate) =< "$end1"
答案 3 :(得分:0)
试试这个
$start1 = date('Y-m-d', strtotime($start));
$end1 = date('Y-m-d', strtotime($end));
"SELECT * from `cdr`
WHERE DATE_FORMAT(cont_msg_received_dt,'%Y-%m-%d') BETWEEN '".$start1."' AND '".$end1."' "