2016-04-02 20 views
-2

Sorgumda bir mysql sözdizimi hatası yaşıyorum. Sorun saatlerce bulunamadı. Burada nerede hata yaptım? HatamySQL sözdizimi hatası benim sorgumda

mysql_query("SELECT * FROM uyeler where basresvar='evet' AND 
cinsiyet='".$gender."' AND kesfetgoster='evet' AND id NOT IN (".$hepsi.") 
ORDER BY FIELD (kesfetbegendikleri, '".$be."') > 0, ulke = '".$ulke."', id 
DESC limit 10") 

Eğer SQL sözdizimi bir hata var; '199' ORDER BY FIELD (kesfetbegendikleri, ', 202,')> 0, ulke = 'Turkey', 'DESC', satır 1

adresinde kullanım için doğru sözdizimi için MariaDB sunucu sürümünüze karşılık gelen kılavuzu kontrol edin.
+2

"$ hepsi" değeri nedir? –

+0

198,201, 199 – user198989

+2

Bu ek virgül kullanamazsınız. Sadece boş değerleri 0 ile değiştirin. –

cevap

0

Açıklamalarda tartışıldığı gibi, $hepsi'un (198,201, 199) değerindeki virgül problemdir. $ Hepsi zaten o dize mevcut olan

$hepsi = implode(',' array_filter($your_array)); 

, sadece explode: Mevcut bir diziden implode kullanarak o dizeyi oluştururken yüzden, eğer o zaman sadece boş bir dizi öğelerini, böyle bir şey kaldırmak için array_filter kullanabilirsiniz Bunu tekrar array_filter ve implode uygulayın. Bunun gibi:

$hepsi = implode(',', array_filter(explode(',', $hepsi)));