SQL syntax hatası alıyorum

Bu soru iptal edilmiştir...
HATA: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 'e başvuru yağmuru

Böle bi hata alıyorum..bunu nasıl düzeltebilirim..

Ekli Dosyalar

+0
-0
Cevaba KatılıyorumKatılmıyorum
Cevap Yaz Yorum Yaz Arşivime Ekle Takip Et

Doğru Cevap

  • necmettin adlı üyenin fotoğrafı
    8 yıl önce yazılmış
    80 cevap - 0 soru
    loverman,
    Neredeyse hiçbir bilgi vermeden cevap almaya çalışmışsın.

    1. Hata aldığın SQL sorgusu nedir? Sorguyu görmeden problemin nerede olduğunu nasıl bilebiliriz ki? 'Başım ağrıyor' diyen hastaya teşhis koyabilecek bir doktor biliyor musun bu dünyada?
    2. Bu panel hangi sitede, ne paneli, kim yazmış? Ne panele erişebiliyoruz ne kaynak koduna, tablo yapısına bakarak sorunu bulmamızı ve çözümünü üretmemizi nasıl beklersin?

    Bunu söylemek istemezdim ama soru sorarken yeterince bilgi vermezsen adam gibi cevap alman zor olur.

    Verdiğin hata mesajına bakarak şunu söylemek mümkün:
    Paneli kim yazdıysa haber eklerken tek ve çift tırnak gibi karakterleri dikkate almamış. Yazdığın haberde "Bilmemne'ye başvuru yağmuru" gibi bir başlık vermeye çalışıyorsun, oradaki tek tırnağı kaldırırsan sorun ortadan kalkar. Paneli yazan arkadaşa erişebiliyorsan söyle addslashes gibi fonksiyonlara bir baksın.
    • loverman84 adlı üyenin fotoğrafı loverman84
      Doğru sölüyosun necmettin,hemen haletmem gerektiği için birde kurum bilgileri gizli olduğu için çok fazla açıklayıcı yazamadım.Tırnağı kaldırınca sorun giderildi.paneli bir arkadaşla beraber yazmıştık.

      addslashes fonksiyonunu bakıcam..
      8 yıl önce yazılmış

Cevaplar

  • onurdegerli adlı üyenin fotoğrafı
    8 yıl önce yazılmış
    10 cevap - 0 soru
    sql i buraya yazmadan anlamayız ki.
    ama genel olarak hatayı gösterdiği yerin bir önceki kısmında , ' gibi karakterlerin eksik olmasından kaynaklanıyor.
    • loverman84 adlı üyenin fotoğrafı loverman84
      CREATE TABLE `haber` (
      `id` int(100) NOT NULL AUTO_INCREMENT,
      `baslik` varchar(250) CHARACTER SET utf8 NOT NULL,
      `aciklama` varchar(250) CHARACTER SET utf8 NOT NULL,
      `haber` text CHARACTER SET utf8 NOT NULL,
      `dil` int(2) NOT NULL,
      `resim` varchar(250) CHARACTER SET utf8 DEFAULT NULL,
      PRIMARY KEY (`id`)
      ) ENGINE=MyISAM AUTO_INCREMENT=584 DEFAULT CHARSET=latin1;
      8 yıl önce yazılmış
    • loverman84 adlı üyenin fotoğrafı loverman84
      bu haber tablosunun sqli, ben panelden haber eklerken sql hatası alıyorum.
      8 yıl önce yazılmış
    • onurdegerli adlı üyenin fotoğrafı onurdegerli
      phpmyadminde çalıştırdım sorunsuz çalıştı
      tavsiye: veritabanında karakter seti olarak utf8 kullanmanı öneririm
      8 yıl önce yazılmış
    • onurdegerli adlı üyenin fotoğrafı onurdegerli
      eklerken ki kullandığın sql cümlesini vermen gerekiyor :)
      8 yıl önce yazılmış
  • Kemal adlı üyenin fotoğrafı
    8 yıl önce yazılmış
    63 cevap - 10 soru
    SQL kodunda muhtemelen tırnak hatası var veya eşleşmemiş sutun dizilişi var
    insert tabloadi (sutun1,sutun2,sutun3) values ('$birinci','$ikinci','$ucuncu','$dorduncu') gibi
  • loverman84 adlı üyenin fotoğrafı
    8 yıl önce yazılmış
    2 cevap - 3 soru
    Panelden eklediğim için sql yok direk metin yazıp ekle diorum o kdr
  • 1
    madpoet adlı üyenin fotoğrafı
    8 yıl önce yazılmış
    83 cevap - 0 soru
    SQL injection açığı var yazılımınızda...

    Şöyle birşey oluyor:

    insert into haber (baslik) values ('bilmemnere'ye başvuru yağmuru bla bla...')
    


    Burada dikkat edersen values('bilmemnere' gibi bişey çıkıyo ortaya, yani içerikteki tek tırnak işareti sql cümlesindeki tek tırnakla karışıyor. Oradaki tek tırnağı escape etmen gerek:

    bilmemnere'ye başvuru yağmuru şeklinde.

    Bunu yapmak için addslashes fonksiyonu yeterli olsa da mysql_real_escape_string kullanmanızı tavsiye ederim.


    Daha iyisi database wrapper nedir, nasıl kullanılır, bind nasıl edilir konularını araştırmanızı öneririm.
    • loverman84 adlı üyenin fotoğrafı loverman84
      Tamam teşşekür ederim..Kodu Açsam bana yardımcı olabilirmisin acaba?
      8 yıl önce yazılmış