Selamlar,
Magic Quotes açýk olabilir... onu kontrol edin
Örnek Týrnak için "escape"
/**
* SQL String escaper
*
* @param string $string
* @return string
*/
function esc($string)
{
$string = html_entity_decode(trim($string));
if (get_magic_quotes_gpc()) {
$string = stripslashes($string);
}
if (function_exists('mysql_real_escape_string')) {
$string = mysql_real_escape_string($string);
} elseif (function_exists('mysql_escape_string')) {
$string = mysql_escape_string($string);
}
return $string;
}
iyi çalýþmalar,
Onur Yerlikaya
On Sat, 2007-11-24 at 16:52 +0200, binan wrote:
> sizin kullanim seklinizde bir hata yok.
> veri tabaninda \' gibi bir sey ile karsilasmamaniz gerekiyor...
> addslashes fonksiyonu, sql cumleleri ile icerigin karismasini onlemeye
> yonelik...
>
>
>
> On Nov 6, 2007 5:15 PM, Güyçmýrat Amanmýrat <guychmyrat_at_yahoo.com.tr> wrote:
> >
> >
> >
> >
> > Eklemeyi unuttum biþey var.
> >
> >
> >
> > Eðer 2 defa addslashes fonksiyonunu kullanýrsam o zaman veritabanýnada
> > deneme\' olarak kayýt ediyor.
> >
> > Ama bir defa addslashes fonksiyonunu kullandýgým zaman deneme' olarak
> > ekliyor.
> >
> > Doðru olan bu fonksiyonu 2 defa kullanarak veritabanýna eklenmesimi ? Yoksa
> > doðru kullanýmý nedir bunun ?
> >
> >
> >
> >
> >
> > Ýyi günler.
> >
> >
> >
> > ________________________________
> >
> >
> > From: linux-programlama-bounces_at_liste.linux.org.tr
> > [mailto:linux-programlama-bounces_at_liste.linux.org.tr] On Behalf Of Güyçmýrat
> > Amanmýrat
> > Sent: Tuesday, November 06, 2007 5:03 PM
> > To: linux-programlama_at_liste.linux.org.tr
> > Subject: [Linux-programlama] addslashes ile ilgili
> >
> >
> >
> >
> >
> >
> >
> > Merhabalar, daha önce Atif arkadaþým addslashes fonksiyonunda iki tane \\
> > kullanmam gerektiðini yazmýþtý.
> >
> >
> >
> > Ben daha sonra fark ettiðim biþey var.
> >
> >
> >
> > Kullanýcýdan gelen verileri addslashes fonksiyonun tabi tuttuðum zaman
> >
> > deneme' kelimesi için aþaðýdaki gibi sonuç veriyor.
> >
> >
> >
> > insert into kategoriler (katName, katOrder, visible) values ('deneme\'', 11,
> > 1 );
> >
> >
> >
> > Yani mysql_query($query)
> >
> > Demeden önce echo $query; exit();
> >
> >
> >
> > Dediðimde yukarýdaki sonucu alýyorum. Sanki mysql-e eklerken deneme\' olarak
> > eklemesi gerekiyor ama veritabanýnda deneme' olarak duruyor. O (\) ters
> > salashi veritabanýna nedense ekleyemiyor.
> >
> >
> >
> > Özet olarak PHP'nin addslashes fonksiyonu \ ekliyor ama bu mysql_query ile
> > çalýþtýrýldýgýnda veritabanýma deneme\' olarak eklenemiyor. Program olarak
> > WAMP kullanýyorum. Bir türlü sebebini anlýyamadým. Neden olabilir acaba ?
> >
> >
> >
> >
> >
> > Teþekkürler.
> >
> >
> >
> >
> >
> >
> > _______________________________________________
> > Linux-programlama mailing list
> > Linux-programlama_at_liste.linux.org.tr
> > http://liste.linux.org.tr/mailman/listinfo/linux-programlama
> >
> >
> _______________________________________________
> Linux-programlama mailing list
> Linux-programlama_at_liste.linux.org.tr
> http://liste.linux.org.tr/mailman/listinfo/linux-programlama
_______________________________________________
Linux-programlama mailing list
Linux-programlama_at_liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama
Received on Sat 24 Nov 2007 - 20:56:23 EET