2013-01-27 3 views
-2
$query = "SELECT * FROM `tele`.`pedidos` 
      WHERE `data` LIKE '".date('d/m/Y')."';"; 

Как заказать его одним столбцом? Стараюсь:Результаты mysql vs like

$query = "SELECT * FROM `tele`.`pedidos` 
      WHERE `data` LIKE '".date('d/m/Y')." 
      ORDER BY numero DESC';"; 

Но не работает ...

Любое предложение?

+0

Как это [функция Comparation строки] (http://dev.mysql.com /doc/refman/5.0/en/string-comparison-functions.html#operator_like). Это означает, что для каждой строки таблицы производится привязка типа. – danihp

ответ

3

Держу пари, что вы получаете исключение исключения синтаксиса правильно? Это потому, что вам не хватает одиночной кавычки после значения даты. Попробуйте это для более ясного зрения,

$dateHere = date('d/m/Y'); 
$query = "SELECT * FROM `tele`.`pedidos` WHERE `data` LIKE '$dateHere' ORDER BY numero DESC';"; 

, если вы ищете конкретную дату, используйте = не LIKE, потому что это для соответствия шаблона

$dateHere = date('d/m/Y'); 
$query = "SELECT * FROM `tele`.`pedidos` WHERE `data` = '$dateHere' ORDER BY numero DESC';"; 
+0

Исправить и пояснить. Спасибо –

+0

@JoachimIsaksson, поэтому в заявлении говорится: ** если ** значения (ы) пришли извне. –

+0

@JoachimIsaksson, так как вы это называете? 'Дата ('d/M/Y')'. во всяком случае, я просто удалю это так больше ** ерунда ** слов по моему ответу. –

1

Единственной цитата во втором запросе неуместен. Возможно, это связано с неспособностью работать.

$query = "SELECT * FROM `tele`.`pedidos` WHERE `data` LIKE '".date('d/m/Y')."' ORDER BY numero DESC"; 
1

Синтаксис запросов в основном правильно, но одиночные кавычки ошибаетесь:

$query = "SELECT * FROM `tele`.`pedidos` WHERE `data` = '".date('d/m/Y')."' ORDER BY numero DESC;"; 

На самом деле, этот запрос не имеет смысла. Первоначально я прочитал вопрос о том, что первый запрос работал, но не второй (следовательно, акцент на кавычки). Вы пытаетесь сказать, что сегодняшний день? Что такое данные? Строковый тип данных или тип данных даты?

Если вы хотите, чтобы найти соответствие на сегодняшний день и данные является строкой символов, он будет больше похож:

$query = "SELECT * FROM `tele`.`pedidos` 
      WHERE date(`data`) = date(now()) 
      ORDER BY numero DESC;"; 
+1

Пожалуйста, измените как '='. Как и для сравнения строк. Уверяю вас, вы должны включить эту информацию в свой ответ. http://dev.mysql.com/doc/refman/5.0/en/string-comparison-functions.html#operator_like – danihp

Смежные вопросы