• 22-01-2019, 23:18:01
    #1
    Merhaba, Aşağıdaki kod bir web sayfasından paylaşılmış datatable server side zaten bilen bilir oldukça hızlı fakat şöyle bir sıkıntı var aşağıda öyle bir kodlama yapmış ben anlamadım açıkçası php'de o kadar ilerlemedim henüz mesela select'li satıra where ekleyince aşağıdaki arama kısmı çalışmıyor birkaç şey denedim ama biri çalışsa diğer çalışmıyor yardımcı olabilir misiniz umarım anlatabilmişimdir. Where'den sonra And diyorum alağıdakiler çalışsın diye ama çalışmıyor üstteki not_baslik='Emre' şeklinde ki sorguyu yapmak zorundayım...

    Normal çalıştığında WHERE komutu -- $query .= 'WHERE id LIKE "%'.$_POST["search"]["value"].'%" '; -- şeklinde ama ben yukardaki sorguyu yapmam için oraya alıyorum çalışmıyor

    $query .= "SELECT * FROM notlar WHERE not_baslik='Emre' AND";
    
    if(isset($_POST["search"]["value"])) /* ARAMAYLA ALAKALI SATIR */
    {
    	$query .= 'id 						LIKE "%'.$_POST["search"]["value"].'%" ';
    	$query .= 'OR not_baslik 			LIKE "%'.$_POST["search"]["value"].'%" ';
    	$query .= 'OR not_detay 			LIKE "%'.$_POST["search"]["value"].'%" ';
    	$query .= 'OR not_ekleyen 			LIKE "%'.$_POST["search"]["value"].'%" ';
    }
  • 23-01-2019, 00:28:54
    #2
    Aşağıdaki kodu
    $query .= 'id                 LIKE "%'.$_POST["search"]["value"].'%" ';
    $query .= 'OR not_baslik         LIKE "%'.$_POST["search"]["value"].'%" ';
    $query .= 'OR not_detay          LIKE "%'.$_POST["search"]["value"].'%" ';
    $query .= 'OR not_ekleyen        LIKE "%'.$_POST["search"]["value"].'%" ';
    Şununla değişirsen çalışır ancak hiç önerilmeyen bir yöntemdir. PDO ve binding konularını araştırmanı öneririm. Bu güvenlik açığıdır.

    $query .= "id                 LIKE '%".$_POST["search"]["value"]."%' ";
    $query .= "OR not_baslik         LIKE '%".$_POST["search"]["value"]."%' ";
    $query .= "OR not_detay          LIKE '%".$_POST["search"]["value"]."%' ";
    $query .= "OR not_ekleyen        LIKE '%".$_POST["search"]["value"]."%' ";
  • 23-01-2019, 01:30:31
    #3
    bayGaReZ adlı üyeden alıntı: mesajı görüntüle
    Aşağıdaki kodu
    $query .= 'id                 LIKE "%'.$_POST["search"]["value"].'%" ';
    $query .= 'OR not_baslik         LIKE "%'.$_POST["search"]["value"].'%" ';
    $query .= 'OR not_detay          LIKE "%'.$_POST["search"]["value"].'%" ';
    $query .= 'OR not_ekleyen        LIKE "%'.$_POST["search"]["value"].'%" ';
    Şununla değişirsen çalışır ancak hiç önerilmeyen bir yöntemdir. PDO ve binding konularını araştırmanı öneririm. Bu güvenlik açığıdır.

    $query .= "id                 LIKE '%".$_POST["search"]["value"]."%' ";
    $query .= "OR not_baslik         LIKE '%".$_POST["search"]["value"]."%' ";
    $query .= "OR not_detay          LIKE '%".$_POST["search"]["value"]."%' ";
    $query .= "OR not_ekleyen        LIKE '%".$_POST["search"]["value"]."%' ";
    Hocam çalışmadı ama rica etsem tekrar bakabilir misiniz ?
  • 23-01-2019, 11:30:34
    #4
    Ne hata aldınız detay paylaşın yardımcı olayım. Kodun sadece bu kısmını görebildiğim için, çalıştırdığım takdirde valid bir sql statement çıkıyor ortaya:

    SELECT * FROM notlar WHERE not_baslik='Emre' AND id LIKE '%WHERE deneme%' OR not_baslik LIKE '%WHERE deneme%' OR not_detay LIKE '%WHERE deneme%' OR not_ekleyen LIKE '%WHERE deneme%'




    Konuyu uzak bağlantı ile çözüme kavuşturduk @Seyum;
  • 23-01-2019, 22:14:27
    #5
    @bayGaReZ; Kendisi cok yardımcı oldu işinin ehli cok teşekkür ederim cok sagol