• 22-02-2015, 04:02:11
    #1
    Üyeliği durduruldu
    Herkese Merhaba,
    Bu yaşadığım sorunu nasıl soracağımı bilemedim
    Aşağıdaki php kodunu yazdığımda, aşağıdaki hatayı alıyorum
      $db->query("INSERT INTO `option` (`type`) values(`select`)");
    Nedenini biliyorum fakat çözüm getiremedim.
    select verisini mysql deki select komutu olarak algılıyor, fakat ben öyle algılamasını istemiyorum


    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'select)' at line 1 in

    Şimdiden teşekkürler
  • 22-02-2015, 11:16:25
    #2
    Tırnak da sıkıntı var gibi.

    $db->query("INSERT INTO option (type) values ('select')");
    Bu şekilde test eder misiniz ?
  • 22-02-2015, 15:02:10
    #3
    Üyeliği durduruldu
    Hayko adlı üyeden alıntı: mesajı görüntüle
    Tırnak da sıkıntı var gibi.

    $db->query("INSERT INTO option (type) values ('select')");
    Bu şekilde test eder misiniz ?
    Bu şekilde de aynı, local'de sorun cıkarmıyorda ftp'de sorun çıkarıyor
  • 22-02-2015, 16:55:28
    #4
    WebTwins adlı üyeden alıntı: mesajı görüntüle
    Bu şekilde de aynı, local'de sorun cıkarmıyorda ftp'de sorun çıkarıyor
    select ifadesi değişken mi ?

    yani şu şekilde mi ?

    $db->query("INSERT INTO option (type) values ('$degisken')");
    eğer böyleyse mysql_real_escape_string çözüm olabilir.

    $db->query("INSERT INTO option (type) values ('".mysql_real_escape_string($degisken)."')");
    gibi.
  • 22-02-2015, 19:10:59
    #5
    öncelikle şöyle deneyin.

      $db->query("INSERT INTO `option` (type) values('`select`')");
    option ve seleft reserve kelimeler ama type değil onun için escape a gerek yok. Ayrıca value olan select bir string yani tek tırnak içine alıp sonra ters tırnak ile escape etmemiz lazım sanırım.

    ` ters tırnak işareti escape edilmesini sağlamalı. eğer sağlamıyorsa database sınıfınızda muhtemelen bir filtreleme falan vardır. o sorguyu vertiabanı clasınıza sokmadan doğrudan mysqli_query ile sorgulamayı deneyin. muhtemelen çalışacaktır. sonra classınızda kodun kırıldığı yeri bulun. veritabanı sınıfınızı yazdığınız dosyada bir filtreleme varsa ya da karakter set farkı escape karakteri algılanmıyor olabilir.
  • 23-02-2015, 18:04:10
    #6
    Üyeliği durduruldu
    digiklan adlı üyeden alıntı: mesajı görüntüle
    öncelikle şöyle deneyin.

      $db->query("INSERT INTO `option` (type) values('`select`')");
    option ve seleft reserve kelimeler ama type değil onun için escape a gerek yok. Ayrıca value olan select bir string yani tek tırnak içine alıp sonra ters tırnak ile escape etmemiz lazım sanırım.

    ` ters tırnak işareti escape edilmesini sağlamalı. eğer sağlamıyorsa database sınıfınızda muhtemelen bir filtreleme falan vardır. o sorguyu vertiabanı clasınıza sokmadan doğrudan mysqli_query ile sorgulamayı deneyin. muhtemelen çalışacaktır. sonra classınızda kodun kırıldığı yeri bulun. veritabanı sınıfınızı yazdığınız dosyada bir filtreleme varsa ya da karakter set farkı escape karakteri algılanmıyor olabilir.
    Bu şekilde oldu teşekkürler.