PEAR MDB2 Oracle için Quoting

Thursday February 21st 2008, 19:42 pm |   |  Web Teknolojileri | by eser s.

Diyelim ki veritabanına gireceğiniz ve formdan gelen string bir değişkeni quote etmek istiyorsunuz. Mysql kullandığınızda PHP’nin addslashes() fonksiyonu elbette iş görüyor. Zira Mysql’e uygun biçimde formdan gelen ve “Adana’nın kebabı” şeklindeki bir değeri “Adana’nın kebabı” biçiminde quote edecek ve bu da Mysql’de sorun çıkarmayacaktır. Ancak eğer Oracle kullanıyorsanız quote işlemi ve karakterleri Mysql’dekinden farklı olduğu için addslashes() fonksiyonu işe yaramayacak. Örnek olarak ‘ (tek tırnak) karakterini aynısı ile escape etmeniz gerekiyor. Yani ” haline getirmek.

İşte sağolsun MDB2′ciler bu işleri kolaylaştırmışlar. Yapmanız gereken $db->quote($formdan_gelen_deger); şeklinde $db nesnesinin quote fonksiyonunu çağırmak.

Yani

  1. $sql = "INSERT INTO table1 (field1) VALUES (" . $db->quote($formdan_gelen_deger) . ")";

şeklinde kullanmak gerekiyor.

Dikkat etmeniz gereken bir nokta $db->quote($formdan_gelen_deger) kisminin başına ve sonuna tek tırnak koymamak. Yani

  1. $sql = "INSERT INTO table1 (field1) VALUES (’" . $db->quote($formdan_gelen_deger)."’)";

şeklinde kullanmamak lazım.


Comments
No Comments   |   Leave a comment  |  Comments RSS on this post.  |   TrackBack URI
No comments yet.

Leave a comment

[required]

[required]



Line and paragraph breaks automatic, e-mail address never displayed,
HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

This is a captcha-picture. It is used to prevent mass-access by robots. (see: www.captcha.net)

You must read and type the 5 chars within 0..9 and A..F, and submit the form.

  

Oh no, I cannot read this. Please, generate a

 
SHATO Web Hosting Services