Sitem Php 5.6 da sorunsuz çalışıyor ancak yeni sunucuya aldığımda php 5,6 desteklemediği için php 7.4 e uyarlamaya çalışıyorum. Şu konuda sorun yaşıyorum
$query1 = "SELECT * FROM yazilar where kategori1 = '$kat[baslik]' or kategori2 = '$kat[baslik]' or kategori3 = '$kat[baslik ]' order by id desc LIMIT $start, $limit";
$sonuc= mysqli_query($conn,$query1);
Bu kod php 5.6 da sorunsuz çalışıyordu. ancak 7.4 de ''or'' çalışmıyor yerine ne koyabilirim. yazilar tablosunda 3 kategori kısmındanda eşleşeni alıyordum. Alternatif ne yapabilirim
Php 5.6 dan php 7.4 e geçişte birden fazla kategori sorunu
7
●148
- 08-09-2024, 16:38:51
- 08-09-2024, 16:45:15hata mesajı yok tek kategori yapınca çalışıyor ilk kategorilerdekini çekiyor. Ama OR ile birden fazla kategoride aynı olanları al dediğimde çekmiyor. Fonksiyonsuz kalıyor
- 08-09-2024, 16:58:43Hocam buradaki sorun <-- kategori3 = '$kat[baslik ]' --> kısmında baslik'tan sonraki boşluk olabilir.
Onun dışında sorguya $kat['baslik']'ı doğrudan eklemeniz güvenli değil. SQL injection saldırısını alırsanız veritabanınız silinebilir / klonlanabilir v.s. Prepared statement ile sorgulama yapmalısınız. - 08-09-2024, 17:06:33burda örnek verirken boşluk bırakmamışım zaten 5,6 da çalışan bir koddu. Sanırım or komutu çalışmıyor php 7.4 de yada çalışmasına uygun şekilde değil. Prepared statement ile ilgili bilgim yok malesefburakbabursah adlı üyeden alıntı: mesajı görüntüle
- 08-09-2024, 17:17:22Hocam yardımcı olacağım ama tam sorunu göstermeniz gerekiyor. Üstünkörü bilgiyle direkt çözemeyiz. Öncelikle "boşluk bırakmışım" mı demek isteniz? Sorun boşlukta değilse kodun ekran görüntüsünü ve çıktısını atabilir misiniz?Wolfmaster adlı üyeden alıntı: mesajı görüntüle
Bir de SQL kendisi bir dildir ve komutları PHP sürümünden bağımsızdır. Yani PHP sürümü değişse bile SQL komutları çalışır. - 08-09-2024, 17:28:01Gereken boşluklar var ve tek kategori yapınca da çalışıyor istediğim " or " ile birden fazla kategoriye bakması. Öncesi çalışan kodlardı.
https://prnt.sc/2v9DP-zpHMf5 - 08-09-2024, 18:25:48Gene kendim çözdüm
parantez içine almak gerekiyormuş. İlginiz için tşkler
https://prnt.sc/nDiD4BT6jp9j
parantez içine almak gerekiyormuş. İlginiz için tşkler