PEAR MDB2 Oracle için Quoting
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
-
$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
-
$sql = "INSERT INTO table1 (field1) VALUES (’" . $db->quote($formdan_gelen_deger)."’)";
şeklinde kullanmamak lazım.