2013-06-26 6 views
-2

бился целый день ...У вас есть ошибка в синтаксисе SQL; проверьте руководство

s="select * from FolkInfo where (idFolkInfo,FOLKLEVEL,repeat) = ("+id+",2,1)"; 

У Вас есть ошибка в вашем SQL синтаксиса; проверьте руководство. Это дает ошибку в синтаксисе MySQL 5.6.

Я пробовал разные шаги, но этот единственный запрос прослушивает меня.

Пожалуйста, скажите мне, почему мы получаем эту ошибку «операнд должен содержать, по крайней мере, 1 столбец (ы). Пожалуйста, наставит меня как можно скорее ...

+2

Он говорит _check руководство_ по какой-то причине ... – CBroe

+0

Раньше было намного проще найти руководство по MySQL. Вот ссылка. Закладка, сейчас. http://dev.mysql.com/doc/refman/5.6/en/select.html –

+0

Repeat - это зарезервированное слово – Strawberry

ответ

0

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

s = "select * from `FolkInfo` 
where `idFolkInfo` = " + id + 
"and `FOLKLEVEL` = 2 
and `repeat` = 1"; 
+0

isJustMe, я не знаю, но по теме, я думаю, нам следует избегать объединения строк для формирования SQL-запросов даже в простых примерах для искоренения эта опасная (безопасная) традиция, которая отвечает за sql-инъекции, возможна :) – user2520968

+0

@ user2520968 не мог согласиться больше, однако этот вопрос не предлагал много контекс т, поэтому было бы хорошо знать, что стоит – isJustMe

1

Попробуйте использовать AND ключевое слово:

"select * from FolkInfo where idFolkInfo=? AND FOLKLEVEL = ? AND repeat = ?"; 
0

Try:

s="select * from FolkInfo where (idFolkInfo,FOLKLEVEL,repeat) in ("+id+",2,1)";