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.
MYSQL Hatasi: You have an error in your SQL syntax
10
●16.171
- 20-01-2009, 10:59:09Üyeliği durduruldunl2br enter karakterini br ye çevirirOfisSoft adlı üyeden alıntı: mesajı görüntüle
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:12Eski 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("UPDATEBastaki komutu bununlami degistireyim diyorsunuz.
mysql_real_escape_string("UPDATE - 20-01-2009, 19:54:12https://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Ü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Ö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:32Selam 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.