0

私はこのクエリを持っています!なぜ機能しないのですか?

   $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';
") 
4

4 に答える 4

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'");
于 2012-12-04T11:49:58.223 に答える
1

使用
BETWEEN '$start1' AND '$end1'
または使用できます
where DATE(calldate) >= "$start1" and DATE(calldate) =< "$end1"

于 2012-12-04T11:52:23.220 に答える
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';
"); 
于 2012-12-04T11:48:48.283 に答える
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."' "
于 2012-12-04T11:58:51.460 に答える