php mysql arama

1 Cevap php

Benim kod içeren

SELECT * FROM newchap WHERE company LIKE '%$company%' OR  Category LIKE '%$cat%'

Alan $ şirket boş ihtiva zaman, mükemmel ancak çalışır, MySQL tüm sonucu döndürür.

Bunu nasıl önleyebiliriz?

1 Cevap

% Joker karakterin herhangi bir birleşiminden olabilir bu yana boş eğer, hiç bir şirket seçerek ediyoruz; bu durumda sizin sorgu

SELECT * FROM newchap WHERE company LIKE '%%' OR  Category LIKE '%$cat%'

Siz şirket boş davayı filtrelemek için SQL içine bir VE koşulu eklemek olabilir, ya da sadece PHP bunun için kontrol edebilir. Bu hiç bir sorgu çalışırken sizi kurtaracak beri, daha hızlı olmalı, ortak bir durumda.

Ayrıca - ve this is very important - $ şirket ya $ cat kullanıcı girişi içeren olma ihtimali varsa, bir parameterized SQL query kullanıyor olmalıdır. aksi takdirde bir SQL injection için bir güvenlik açığı yaratıyor ediyoruz.