比较Laravel中使用参数化查询的手动查询的where子句中的日期

I am developing a Laravel 5.2 web application. I am retrieving record from database according to user input date that is compared to timestamp in database. I am running manual query using parameterized query because the query is too complicated.

I retrieve records like this

$sql = "SELECT * FROM `usres`";
$sql .= " WHERE DATE(`created_at`) = '2015-04-04'";
DB::select($sql);

$date = '2015-04-04';
$sql = "SELECT * FROM `usres`";
$sql .= " WHERE DATE(`created_at`) = '{$date}'";
DB::select($sql);

As you can see above, I did not use parameterized query. created_at is timestamp and so I converted it into date. The above query is working. It is retrieving the correct data.

I retrieve using parameterized query like this

$date = '2015-04-04';
$sql = "SELECT * FROM `usres`";
$sql .= " WHERE DATE(`created_at`) = ?";
DB::select($sql,[$date]);

The above code is not working. As you can see, I used parameterized query. I tried like below as well.

$date = "'".2015-04-04."'";
$sql = "SELECT * FROM `usres`";
$sql .= " WHERE DATE(`created_at`) = ?";
DB::select($sql,[$date]);


$date = "2015-04-04";
$sql = "SELECT * FROM `usres`";
$sql .= " WHERE DATE_FORMAT(`created_at`,'%Y-%m-%d') = ?";
DB::select($sql,[$date]);

This is not working as well.

Why it is not retrieving data when I use parameterized query?