Piszę funkcję wyszukiwania i wymyśliłem to zapytanie przy użyciu parametrów, aby zapobiec lub przynajmniej ograniczyć ataki typu SQL injection. Jednak gdy uruchamiam go przez mój program, nic nie zwraca:
SELECT * FROM compliance_corner WHERE (body LIKE '%@query%') OR (title LIKE '%@query%')
Czy można używać parametrów w ten sposób? czy też są ważne tylko w takim przypadku, jak:
SELECT * FROM compliance_corner WHERE body LIKE '%<string>%'
(gdzie <string>
jest obiekt wyszukiwania).
EDYCJA: Konstruuję tę funkcję w VB.NET, czy ma to wpływ na składnię, którą wnieśliście?
Uruchomiłem również tę instrukcję w SQL Server: SELECT * FROM compliance_corner WHERE (body LIKE '%max%') OR (title LIKE
% max% ') `i zwraca wyniki.