2015-05-08 2 views
-4

Когда я EXEC этот вопрос он говорит:Sql синтаксис ошибка

Неправильный синтаксис около ')'.

@username nvarchar(50), 
@routenaam nvarchar(50) 

as 
begin 
DECLARE @sql NVARCHAR(MAX) = 'SELECT count(*) FROM ' [email protected]+'routeinformatie'+' where [email protected])' 


EXEC sp_executeSQL @sql,N' 
@username nvarchar(50), 
@routenaam nvarchar(50) 
',@username,@routenaam 
end 

Что может быть не так?

+2

Где можно найти «)» в SELECT,? – jarlh

+3

Я уверен, что вы дезинфицируете эти строки ввода пользователя ... –

+2

Вроде бы впечатляюще видеть уязвимость SQL-инъекции в реальном коде SQL, а не в коде приложения. Страшно, но впечатляет. – David

ответ

2

У вас есть открывающая скобка на этой линии в самом конце:

DECLARE @sql NVARCHAR(MAX) = 'SELECT count(*) FROM ' [email protected]+'routeinformatie'+' where [email protected])' 
+0

Не заметил, что спасибо сейчас. – tosorro

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