Я использую сервлеты Java 7 и Tomcat 7 в качестве сервера и MySQL в качестве базы данных. Я пытаюсь выполнить некоторый поиск пользователей, но, вероятно, в моем SQL есть какая-то проблема, может ли кто-нибудь увидеть проблему? Дело в том, что lasNameFragment - это фрагмент фамилии, и я ищу пользователей, у которых есть этот фрагмент внутри фамилии. Список пользователей без LIKE работает нормально, поэтому проблема должна быть где-то в этих двух строках.

preparedStatement = connection.prepareStatement("SELECT users.id AS id, login, name, lastname, password, sex, birth, info WHERE lastname LIKE ?;");
    preparedStatement.setString(1, "%" + lastNameFragment + "%");

Ошибка:

com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE lastname LIKE '%Mot%'' at line 1

Где Mot - это значение lastnamefragment, которое я получаю от формы поиска.

1
user1097772 25 Янв 2013 в 06:50
1
... информация FROM yourTableName ГДЕ ...
 – 
xQbert
25 Янв 2013 в 07:06

1 ответ

Лучший ответ

У вас есть инструкции SELECT и WHERE, но я не вижу инструкции FROM.

6
jake 25 Янв 2013 в 06:52
Спасибо, я упустил из виду, что пропустил ОТ.
 – 
user1097772
25 Янв 2013 в 07:12