ホームページ  >  記事  >  バックエンド開発  >  phpで先月のクエリコードをクエリするとエラーが発生します。

phpで先月のクエリコードをクエリするとエラーが発生します。

WBOY
WBOYオリジナル
2016-06-13 12:58:12725ブラウズ

PHP の先月のクエリ コードでエラーが報告されました。どうすればよいですか
//先月の注文
$sql_month="select order_id , order_number from order_table where DATE_SUB(CURDATE(), INTERVAL INTERVAL 1 MONTH) <= date(order_date)" ;
var_dump($sql_month) ;
$mysql_month=mysql_query($sql_month) または die("クエリできませんでした。".mysql_error()) ;
$info_month=mysql_num_rows($mysql_month) ;
if($info_month==""){
$html_info_month="先月は注文がありませんでした。" ;
}
それ以外{
$str=mysql_fetch_array($mysql_month);
//$html_info_month="先月の注文数";
$html_info_month="

    " ;
    する{
    $order_id=iconv("gb2312" , "utf-8//IGNORE" , $str["order_id"]) ;
    $order_number=iconv("gb2312" , "utf-8//IGNORE" , $str["order_number"]) ;
    $html_info_month.="
  • ".$order_number."
  • " > }while($str=mysql_fetch_array($mysql_month)) ;
    $html_info_month.="
" ;
}
先月の select ステートメントをクエリするのは正しいですか?
エラーレポート:
string(120) "select order_id , order_number from order_table where DATE_SUB(CURDATE(), INTERVAL INTERVAL 1 MONTH) <= date(order_date)" クエリを実行できませんでした。SQL 構文にエラーがあります。対応するマニュアルを確認してください。 MySQL サーバーのバージョンで、行 1 の ') <= date(order_date)' 付近で使用する正しい構文

------解決策------------ - -------select order_id , order_number from order_table where date > ".strtotime('-1 month')

-----解決策-- ----------------1 実際、その SQL 文を聞きたいだけの場合は、コードを投稿しないでください。人々はそれを読みたがりません
2 $sql_month="select order_id , order_number from order_table where DATE_SUB(CURDATE(), INTERVAL INTERVAL 1 MONTH) <= date(order_date)" は、現在の日付以下の注文日プラス 1 か月を検索することを意味します、最新の月は、注文日が現在の日付から 1 か月以内であることを意味します。つまり、注文日 + 1 か月が現在の日付以上であるため、select order_id, order_number from order_table となる必要があります。 DATE_SUB(CURDATE( ), INTERVAL INTERVAL 1 MONTH) >= date(order_date)"

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。