• 08-09-2024, 16:38:51
    #1
    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
  • 08-09-2024, 16:42:23
    #2
    Hata mesajı nedir?
  • 08-09-2024, 16:45:15
    #3
    hata 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:43
    #4
    Hocam 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:33
    #5
    burakbabursah adlı üyeden alıntı: mesajı görüntüle
    Hocam 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.
    burda ö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 malesef
  • 08-09-2024, 17:17:22
    #6
    Wolfmaster adlı üyeden alıntı: mesajı görüntüle
    burda ö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 malesef
    Hocam 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?
    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:01
    #7
    Gereken 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:48
    #8
    Gene kendim çözdüm parantez içine almak gerekiyormuş. İlginiz için tşkler
    https://prnt.sc/nDiD4BT6jp9j