2016-05-24 9 views
1

テーブルの開始日から最大の日付までの範囲を選択するにはどうすればよいですか(例:03-05-2016からテーブル内の利用可能な最高の日付まで)。mysqlの開始日から選択する方法

私はB(終了日)のために価値がないように私は

select x from y where date between a and b 

に失敗しました。

私は完全なコードを追加しました。私は> =を使用しましたが、文に何か問題があります。それはエコーあなたが範囲を知っているときにのみBETWEENを使用することができます

$StartDate = $_POST["StartDate"]; 
if($stmt = $mysqli->prepare("SELECT ActivityDate, ANCO, CoreSite, MailSubject, AssignedDCO, Notes FROM ActivityPlanner WHERE ActivityDate >= ?")) 
{ 
$stmt->bind_param("s", $StartDate); 
$stmt->execute(); 
$stmt->bind_result($ActivityDate, $ANCO, $CoreSite, $MailSubject, $AssignedDCO, $Notes); 
while ($stmt->fetch()) 
{ 
$Str = strval($ANCO); 
echo json_encode($Str).",".json_encode($CoreSite).",".json_encode($MailSubject).",".json_encode($AssignedDCO).",".json_encode($Notes).",".json_encode($ActivityDate).","; 
} 
$stmt->close(); 
echo ("Successfull"); 
} 
else{ 
echo ("Failed"); 
$mysqli->close(); 
} 
+0

'日付bは 'date> = a AND date <= b'と等価です。参照してください:https://dev.mysql.com/doc/refman/5.7/en/comparison-operators.html#operator_between –

答えて

3

を「失敗しました」。あなたのシナリオでは、単に>または>=を使用することができます。

-- Note: Dates need to be in the format 'yyyy-mm-dd' 
SELECT x FROM y WHERE date >= '2016-03-05' 
+0

私はこれを試みたが、PHPの準備声明で動作していないようだ、私はコードを見てください追加 –

+0

このコードを使用してケースを解決しました –

2

このクエリでは、あなたのテーブルにテーブルから

セレクトxを最大の日付に2016年3月5日から日付を発生する場所の間の日>「2016年5月3日」

+0

私は準備済みのステートメントを使用しているのでコードを追加しましたが、これは動作しません..優しくそれを見てください –

+0

これは問題を解決してくれてありがとう –

関連する問題