Verwenden von Parametern mit der LIKE-Anweisung in SQL
Bei der Entwicklung einer Suchfunktion ist es entscheidend, potenzielle Sicherheitsrisiken wie SQL-Injection-Angriffe zu minimieren. Ein Ansatz ist die Verwendung von Parametern in SQL-Abfragen. Bei der Verwendung von Parametern mit LIKE-Anweisungen können jedoch Probleme auftreten.
Die folgende Abfrage zeigt die beabsichtigte Parameterverwendung in der LIKE-Anweisung:
SELECT * FROM compliance_corner WHERE (body LIKE '%@query%') OR (title LIKE '%@query%')
Aber diese Abfrage erzeugt keine Ergebnisse. Dies wirft die Frage auf: Sind Parameter in diesem Kontext anwendbar oder sind sie begrenzt, wie in diesem Fall zu sehen ist?
SELECT * FROM compliance_corner WHERE body LIKE '%<string>%'
Zusätzlich hat der Benutzer eine alternative Abfrage bereitgestellt, die Ergebnisse in SQL Server zurückgibt:
SELECT * FROM compliance_corner WHERE (body LIKE '%max%') OR (title LIKE%max%')
Um Parameter effektiv mit der LIKE-Anweisung zu verwenden, wird empfohlen, auf das folgende VB.NET-Code-Snippet zu verweisen:
Dim cmd as New SqlCommand( _ "SELECT * FROM compliance_corner" _ + " WHERE (body LIKE @query )" _ + " OR (title LIKE @query)") cmd.Parameters.Add("@query", "%" +searchString +"%")
Das obige ist der detaillierte Inhalt vonKönnen SQL-Parameter effektiv mit LIKE-Anweisungen verwendet werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!