Я не могу получить PHP MySQL выбрать с датой - PullRequest
0 голосов
/ 08 января 2011

У меня есть записи в базе данных дат в формате 2011/01/08 06:10:11, но мне нужно ВЫБРАТЬ даты с помощью следующего выбора:

$q = mysql_query("SELECT id FROM events WHERE start = '".date("Y-m-d")."'");

Так что PHP ничего не выбирает!Когда я устанавливаю время в базе данных в формате 2011/01/08 00:00:00, PHP выбирает этот день

Пожалуйста, помогите мне выбрать дату независимо от времени.THX

Ответы [ 4 ]

3 голосов
/ 08 января 2011
 You can use this.
SELECT * FROM <TABLE>
       WHERE date >= ‘2005-01-07’ AND date < ‘2005-01-07’ +
    INTERVAL 1 DAY;

не забудьте заменить «2005-01-07» на желаемую дату.Тот же вопрос обсуждался здесь

2 голосов
/ 08 января 2011

Попробуйте следующий запрос

$q = mysql_query("SELECT id FROM events WHERE DATE_FORMAT( `start` , '%Y-%m-%d' ) = '".date("Y-m-d")."'");
2 голосов
/ 08 января 2011

попробуйте это

 $q = mysql_query("SELECT id FROM events WHERE start LIKE '".date("Y-m-d")."%'");
обратите внимание, я добавил% после вашей даты и убедитесь, что у вас есть что-то в ядре таблицы, что соответствует дате, которую вы ищете
1 голос
/ 08 января 2011

Одним из решений является извлечение только части даты и запрос (где? Ваша дата):

SELECT id FROM events WHERE DATE(start) = ?

Проблема в том, что здесь не используются индексы. Лучше написать запрос так:

SELECT id FROM events WHERE start BETWEEN ? AND ?

Два знака вопроса - ваша дата с 00:00:00 и 23:59:59.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...