2

2 つの日付を選択するための 6 つのドロップダウン メニューがあります。次のコードがあります。どの日付を選択しても結果が得られません。

$year1 = $_POST['year1'];
$month1 = $_POST['month1'];
$day1 = $_POST['day1'];
$date1 = $year1 . "/" . $month1 . "/" . $day1;
$year2 = $_POST['year2'];
$month2 = $_POST['month2'];
$day2 = $_POST['day2'];
$date2 = $year2 . "/" . $month2 . "/" . $day2;
$result = mysql_query("SELECT * FROM services WHERE date between  '%" . $date1 . "%' AND '%" . $date2 . "%' ORDER BY id " );

しかし、最後の行の変数 $date1 と $date2 を特定の日付に置き換えると、正しい結果が得られます。

$result = mysql_query("SELECT * FROM services WHERE date between  '2012/10/01' AND '2012/11/12' ORDER BY id " );

変数 $date1 と $date2 の何が問題なのか誰にもわかりますか?

4

2 に答える 2

4

%クエリから記号を削除して、使用する必要があります

$result = mysql_query("SELECT * FROM services WHERE date between  '" . $date1 . "' AND '" . $date2 . "' ORDER BY id " );
于 2012-11-12T09:32:18.663 に答える
0

% はワイルドカード検索に使用しています...コードから削除する必要があります...

$sql = "SELECT * FROM services WHERE date between  '" . $date1 . "' AND '" . $date2 . "' ORDER BY id ";
mysql_query($sql);
于 2012-11-12T09:35:59.700 に答える