• 20-01-2009, 09:07:26
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Arkadaslar eski serverde hic bir hata yokken vermiyorken yeni servere gectigimde konulari editlemede veya yeni eklemede isim yada konu aciklasimasinda (", ') tirnak isaretleri oldugu zaman bu hatayi veriyor.

    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 (Buradan sonra hatanin oldugu kelimeyi ve tirnak isaretini yaziyor.)

    Deneme amacli tirnak isaretlerini kaldirdim ve denedim sorun kalmadi.

    Her iki tarafinda msyql ve php versiyonlarina baktim her ikiside 5.*.

    Ne yapmaliyim? Lütfen acil yardimci olun.
  • 20-01-2009, 09:10:00
    #2
    $veri = nl2br($_POST['veri']);

    şeklinde kullanırsanız tırnak işaretlerinde sorun yaşamazsınız.
  • 20-01-2009, 10:59:09
    #3
    Üyeliği durduruldu
    OfisSoft adlı üyeden alıntı: mesajı görüntüle
    $veri = nl2br($_POST['veri']);
    şeklinde kullanırsanız tırnak işaretlerinde sorun yaşamazsınız.
    nl2br enter karakterini br ye çevirir

    sql leri veritabanına gönderirken
    mysql_real_escape_string fonksiyonunu kullanırsan sorun yaşamazsın. Forumda aratırsan bu soru defalarca soruldu
  • 20-01-2009, 19:36:12
    #4
    Eski serverlerle yeni server arasindaki farki tekrar dikkatlice inceleyince eski kullandigim serverlerin Apache bu yeni serverin Lite Speed oldugunu gördüm bunlarin arasinda olan bir farktan sanirim. Ama nasil cözebilecegimi bilmiyorum.

    Ilk bastakini yapmak istedigimde 10 tane komut var bu sekilde hem eklemede hemde editleme hepsini degistirmem gerekecek.

    Su anda mysql komutu bu sekilde basliyor.
    mysql_query("UPDATE
    Bastaki komutu bununlami degistireyim diyorsunuz.
    mysql_real_escape_string("UPDATE
  • 20-01-2009, 19:54:12
    #5
    https://www.r10.net/php/52287-textareada-tirnaklar.html

    Bu konuyu buldum server sahibi ile konusup orada yazan get_magic funksiyonu varmis buna gerek yoksa kapattirmam gerekiyor. Bu funksiyon ' " isaretlerine herhangi bir islem uygulamadan eklemek istiyormus ki bu normalinden bu isaretler servere \' \" olarak eklenmesi gerekiyormus. Funksiyon kapali oldugunda makina bunu otomatik yapiyormus.

    Serverde bu funksiyonu degistirtip tekrar olup olmadigini haber edicem sizlere.
  • 20-01-2009, 21:05:45
    #6
    Üyeliği durduruldu
    önceki yazdığınız sql in
    mysql_query("update armut set alan='$elma'");

    gibi olduğunu düşünürsek

    mysql_query("update armut set alan='".mysql_real_escape_string($elma)."'");

    şeklinde dönüştürmeniz yeterli olacaktır. Sonuçta her hostta sunucunun ayarlarını değiştirtemezsiniz. Aynı zamanda ayarları değiştirilse bile çift ve tek tırnak problemdir. Her türlü kontrol etmeniz gerekir
  • 20-01-2009, 21:25:42
    #7
    Öneri icin tskler sdemirkeser. Her sekilde deneyecegim ögrenmenin siniri yoktur nede olsa.

    Scriptte denedim o funksiyon kapali oldugunda mükemmel bir sekilde calisacak kapatmasinda herhangi bir problem olacagini sanmiyorum. Eski serverlerde problem olmuyordu bu sekilde yenisinde sorun oluyor.

    \' \" seklinde editledigimde konuyu problem cikmiyor bu yüzden sadece bu funksiyondan dolayi oldugunu düsünüyorum. Reseller almistim bu funksiyon sadece benim resellere özel kapatilamiyormu?

    Yada .htacces yoluyla kapatma sekli varsa olur ama dedigim gibi her seferinde komple scripti degistiremem. Sonucta sadece bir dosyada degil degisecek olan.

    Bendeki kod söyle:
    mysql_query("UPDATE alan SET name='".$_POST['name']."',
    Sizin dediginiz gibi olunca:
    mysql_query("UPDATE alan SET name='".mysql_real_escape_string($_POST['name'])."',
    Bu sekilde olacak sanirim. Bir kere bu sekil yapsam her serverde calisirmi acaba? Eger her serverde her sekilde calisacak ise degistirmeyi göze alabilirim. Calismama durumu varsa sonucta bir yer satin aldim ve bu funksiyonun acik kapali olacagini bilemem alirken bu yüzden bir sekilde düzenlenmesi gerek.

    Örnegin 1000 liralik bir script yaptirdiniz ve bir yer aldiniz normalinde calisirken yeni bir serverde böyle bir funksiyon yüzünden bütün scripti degistirtmezsiniz sanirim tekrar para ödeyerek. Bu gibi durumlarda server sahiplerine is düsüyor ki benim server sahibinin sorunsuz yardim edecegine inaniyorum.
  • 25-02-2010, 19:54:32
    #8
    Selam arkadaşlar,
    içerek eklerken bu sorunla karşılaşıyorum arkadaşlar ner yapmam gerek..

    spot eklerken örnek başlık: olacak okadar olsun'mu olsun

    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use 'mu','
    Makina degiştirince arada sırada oluyor.. Tırnak işaretini kabul etmiyor onun için eklemiyor mysql'a.


    $mesaj=str_replace("'","",$mesaj);
    $tar=time();




    Ne yapmam lazım : Saygılar.
  • 26-02-2010, 12:04:58
    #9
    (') tırnak sorunu devam ediyor..