Doğru Cevap
-
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
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..13 yıl önce yazılmış
-
Cevaplar
-
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
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;13 yıl önce yazılmış -
loverman84
bu haber tablosunun sqli, ben panelden haber eklerken sql hatası alıyorum.13 yıl önce yazılmış -
onurdegerli
phpmyadminde çalıştırdım sorunsuz çalıştı
tavsiye: veritabanında karakter seti olarak utf8 kullanmanı öneririm13 yıl önce yazılmış -
onurdegerli
eklerken ki kullandığın sql cümlesini vermen gerekiyor :)13 yıl önce yazılmış
-
-
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 -
Panelden eklediğim için sql yok direk metin yazıp ekle diorum o kdr
-
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çinaddslashes
fonksiyonu yeterli olsa damysql_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
Tamam teşşekür ederim..Kodu Açsam bana yardımcı olabilirmisin acaba?13 yıl önce yazılmış
-