PHP
MySQL

[ エラー ] PHP MySQL SQL文 日付で範囲指定し絞り込む

Datepickerを使用し、日付で絞り込みをする

SQL文で、絞り込みをしましたがエラーでつまづいたので :frowning2:

index.html
<div id="datepicker">
 <input type="text" name="date_start">
 <input type="text" name="date_end">
</div>
date.php
$start = $_POST['date_start'];
$end = $_POST['date_end'];

$sql = "SELECT * FROM news WHERE created_at BETWEEN $start AND $end";

上記の書き方だと、絞り込みができませんでした。

  • 絞り込み条件の部分には、プレースホルダを使用する
date.php
$start = $_POST['date_start'];
$end = $_POST['date_end'];

$sql = "SELECT * FROM news WHERE created_at BETWEEN start = ? AND end = ?";

$stmt->bindValue(1, $start, PDO::PARAM_STR);
$stmt->bindValue(2, $end, PDO::PARAM_STR);

$stmt = $pdo->prepare($sql);
$stmt->execute(array($start,$end));