Выборка из БД на PHP

Возникла проблема. Нужно сортировать записи, получаемые из БД в PHP по месяцу, который можно вводить (текстовое поле). Использую для этого поле

для обработки записей:
SELECT id,date FROM $table WHERE date = 'Date_123'...

Если подставлять в SELECT запрос date = (текущая дата), то запрос к БД выполняется, если же ссылаюсь на текстовое поле - пишет что в базе 0 элементов соответствующих дате. Посоветуйте пожалуйста - как же выполнить выборку по месяцу из БД через ввод текстовым полем??

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

Дата в SQL-запросе

Дата в SQL-запросе представлена в виде строки. Как эта строка будет интерпретирована, зависит от заданного формата даты. Для Oracle формат задается например так:
SET NLS_DATE_FORMAT = 'YYYY-MM-DD'.
Тогда строка '2010-04-12' будет правильно интерпретирована как дата, а строка '12/04/2010' выдаст ошибку. У вас какая СУБД и какой формат даты в ней установлен?

Либо заставить пользователя вводить строку в строго установленном формате.
Либо в РНР проверять:

$timestamp = strtotime(<введенная_строка>); # пытаемся преобразовать строку
IF $timestamp < 0 # ошибка
else    DATA('формат_для_SQL', $timestamp); # обратно в строку требуемого для SQL формата

См. синтаксис strtotime здесь

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

Back to top

(С) Виктор Вислобоков, 2008-2023