Php ile arama sorgusunu sterilize

0 Cevap php

Sitemde bir kullanıcı, ben get isteği kapmak ve ona karşı bir mysql sorgu yaptığınızda. Benim orijinal kod böyle bir şey baktı: $q = $_GET['q'];.

Şu anda urldecode benim için eğik çizgi ekleyerek, ama ben santize dize filtresi ile filter_var denemeye aslo karar verilmiştir.

Ben kullanırken İşte benim sql $q = urldecode($_GET['q']);:

SELECT * FROM item WHERE title LIKE '%you\'re%' OR description LIKE '%you\'re%' ORDER BY date DESC 

Ben kullanırken ve burada benim sql: q = filter_var(urldecode($_GET['q']), FILTER_SANITIZE_STRING);

SELECT * FROM item WHERE title LIKE '%you\'re%' OR description LIKE '%you\'re%' ORDER BY date DESC 

Sql tam olarak aynı, ama farklı sonuçlar almak ve ben neden emin değilim? Sadece urldecode kullanarak veritabanından doğru sonuçlar verir, ancak (sql aynı olsa bile) hiçbir şey filter_var döndürür.

Benim soru, sorgu dizesi dezenfekte ve aramak için en iyi yolu nedir sanırım?

0 Cevap