Menggunakan Parameter dengan Pernyataan LIKE dalam Pertanyaan SQL dan Mencegah Suntikan SQL
Dalam pertanyaan pangkalan data, menggunakan parameter adalah amalan penting untuk mencegah SQL berniat jahat serangan suntikan. Walau bagaimanapun, apabila bekerja dengan pernyataan LIKE, pertimbangan sintaks tertentu timbul.
Soalan: Adakah mungkin untuk menggunakan parameter dalam pernyataan LIKE dan jika ya, bagaimana?
Jawapan: Ya, adalah mungkin untuk menggunakan parameter dalam pernyataan SUKA. Walau bagaimanapun, adalah penting untuk mengendalikan penggabungan rentetan dengan sewajarnya.
Sintaks untuk Pernyataan LIKE Parameter:
PILIH * DARI nama_jadual DI MANA (nama_lajur LIKE @parameter)
Menggunakan Parameter dalam VB.NET:
Dim cmd As New SqlCommand( "SELECT * FROM compliance_corner "_ + " WHERE (body LIKE @query ) "_ + " OR (title LIKE @query)") cmd.Parameters.Add("@query", "%" + searchString + "%")
Penjelasan:
Contoh Pertanyaan:
SELECT * FROM compliance_corner WHERE (body LIKE '%max%') OR (title LIKE '%max%')
Pertanyaan ini akan mendapatkan semula semua rekod di mana badan atau lajur tajuk mengandungi subrentetan "maks".
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggunakan Parameter dengan Selamat dengan Pernyataan LIKE dalam SQL untuk Mencegah Serangan Suntikan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!