• 12-09-2013, 13:13:43
    #1
    veritabanı listem var bunların hepsine otomatik olarak baglanarak sql işlemleri yaptırıyorum. insert , update , tablo değişikliği ve alan ekleme gibi. Eğer sorgumda ' veya " karekteri yoksa sıkıntı olmuyor ama bu karakterler olunca sql sorgusu yapmıyor.
    Sizce nasıl yapmam lazım?


    //Sorgu İşlemi
    $sorgu = $_POST['sorgu'];
    $veritabanlari = array();
    $query = mysql_query("SELECT veritabani from musteri");
            while($arr=  mysql_fetch_assoc($query))
            {
    		$veritabani = $arr['veritabani'];
    		array_push($veritabanlari, $veritabani);
    		}
    
    echo '<table id="rounded-corner" summary="2007 Major IT Companies\' Profit"><thead><tr><th scope="col" class="rounded">Veritabanı</th><th scope="col" class="rounded">Firma Adı</th><th scope="col" class="rounded">Yapılan Sorgu</th><th scope="col" class="rounded">Sonuç</th></tr></thead><tbody>';
    foreach($veritabanlari as $veritabani)
     
    {
     mysql_select_db($veritabani);
     
    $queryfirma = mysql_query("select ad from firma");
    $rowfirma= mysql_fetch_array($queryfirma, MYSQL_ASSOC);
     
     $querysorgu = mysql_query($sorgu);
     
     if($querysorgu) { $sonuc = 'Başarılı'; } else { $sonuc = 'Başarısız'; }
    echo '<tr><td>'.$veritabani.'</td><td>'.$rowfirma['ad'].'</td><td>'.$sorgu.'</td><td>'.$sonuc.'</td></tr>';
    
     
    }
    echo '</tbody></table>';
    //Sorgu İşlemi
  • 12-09-2013, 13:35:51
    #2
    stripslashes ve mysql_real_escape_string kullanmalısınız.
  • 12-09-2013, 14:02:02
    #3
    mysql_real_escape_string php 5.5 den sonra artık kullanılmıyacak
  • 12-09-2013, 20:16:29
    #4
    varmı başka önerisi olan?
  • 12-09-2013, 20:48:24
    #5
    htmlentities kullanabilirsin
  • 12-09-2013, 21:17:24
    #6
    nurettin adlı üyeden alıntı: mesajı görüntüle
    mysql_real_escape_string php 5.5 den sonra artık kullanılmıyacak

    5.5'dan sonra zaten mysql desteği kalkacak. sen şimdi kullan bunu. olmadı addslashes, ekle.
  • 13-09-2013, 09:08:02
    #7
    mysql_real_escape_string

    kullandıgımda

    select * from firma where id='1'
    yazdıgımda alttaki gibi sorgu çıkartıyor.

    select * from otel where id=\\\'1\\\'
    benim istediğim ise oldugu gibi sql sorgusunu çalıştırabilmesi.

    textfield ile gönderdigim değerler sql sorgusu olarak çalışması gerekiyor
  • 13-09-2013, 09:39:50
    #8
    Kimlik doğrulama veya yönetimden onay bekliyor.
    tırnak karakterlerini elle espcape( str_replace('"', '&quot;', $q) ) etmeyi deneyebilirsin

    ama pdo kulansan hem bu derten kurtulmuş olursun hemde daha sağlıklı olur sanki
  • 13-09-2013, 10:29:50
    #9
    burada benim istediğim mini bir phpmyadmin scripti.
    birden fazla veritabanımda istediğim değişiklikleri yapabilmek için.