Синтаксис MySQL не возвращает результат

У меня есть этот столбец (Создан) в моей базе данных, которая имеет datetime приписывать. Я хочу получить строки записи в том же году и месячной скобке, используя $_GET[''] из моей гиперссылки.

Что ссылка перекликается с заголовком является $datetime = strtotime($row['Created']); с предыдущей страницы.

 $datetime = strtotime($row['Created']);
$tday = date("F, Y", $datetime);
<a href="news.php?year='.$datetime.'">'.$tday.'</a>
//It returns this for example 1437476308

В моем заявлении fetch_array

if(isset($_GET['year'])){
$year= mysqli_real_escape_string($connection, strip_tags($_GET['year']));
//For example $year ends up with 1437476308
SELECT *
FROM Posts
WHERE DATE_FORMAT(Created, '%Y-%m')=DATE_FORMAT({$year}, '%Y-%m');

Запрос возвращает 0 строк, когда он должен вернуть 2 строки. Я использовал консоль MYSQL, я получаю те же 0 строк, что-то не так.

0

Решение

Я бы поменял твой код с

$dateTime = DateTime::createFromFormat('Y-m-d H:i:s', $row['Created']);

echo '<a href="news.php?date=' . $dateTime->format('Y-m-01') . '">' . $dateTime->format('F, Y') . '</a>';

и запрос будет:

if(isset($_GET['date'])){
$firstDay = mysqli_real_escape_string($connection, $_GET['date']);

$query = "SELECT *
FROM projects
WHERE Date BETWEEN '$firstDay' AND LAST_DAY('$firstDay')";
}

Кроме того, не забудьте добавить индекс к Date колонка в projects Таблица

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector