Запрос успеха в phpmyadmin, но не в php

Я хотел бы спросить о запросе, чтобы выбрать последнюю запись в таблице, которая может соответствовать определенному условию.

Следующий код может успешно выполнить и выдает правильную запись в phpmyadmin

SELECT TYPE FROM log WHERE TechID=4 ORDER By LogTime DESC LIMIT 1

Однако, когда я формирую запрос в моем php-файле и выполняю, он выдает ошибку.

$query2 = "SELECT Type FROM Log WHERE TechID=".$row1['TechID']."ORDER BY LogTime DESC LIMIT 1"

вот сообщение об ошибке:

Ошибка! У вас есть ошибка в вашем синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, на предмет правильного синтаксиса для использования рядом с 'BY LogTime DESC LIMIT 1' в строке 1.

Может кто-нибудь сказать мне, что происходит, myquery должен быть таким же, как тот, который я использую в phpmyadmin

Ниже приведены примеры записей, которые я создал для проверки моего файла.

LogID TechID ClientID SiteID Type     LogTime
1     2      5        1      Checkin  2012/07/04 09:00
2     4      5        1      Checkin  2012/07/04 09:00
3     2      5        1      Checkout 2012/07/04 10:00

2 ответа

Решение

Я бы поставил пробел перед оператором заказа.

" ORDER"

Еще одна вещь, которая может быть проблемой (хотя и не здесь): строки должны быть экранированы двойными кавычками в PHP, а не одинарными (пожалуйста, не спрашивайте меня, почему). Таким образом,

mysqli_query("select * from tabel where name = 'peter'");

будет ложным, и

mysqli_query("select * from tabel where name = \"peter\"");

или же

mysqli_query('select * from tabel where name = "peter"');

преуспеет.

Другие вопросы по тегам