From: Burak DAYIOGLU (burak.dayioglu@pro-g.com.tr)
Date: Tue 24 Jun 2003 - 17:49:17 EEST
On Mon, 2003-06-23 at 14:41, Enver ALTIN wrote:
> On Mon, 2003-06-23 at 17:09, Burak DAYIOGLU wrote:
> > On Mon, 2003-06-23 at 11:21, Enver ALTIN wrote:
> > > require_once("DB.php");
> > > $db=DB::connect("mysql://user:pass@host+unix/dbname");
> > > $sql=$db->query("select * from table where field1=?,field2=?", array($avalue, $asecondvalue));
> Hayir, bahsettiginiz gibi bir denetim gerekmiyor.
Sanirim yine de gerekiyor. Oracle (oci8) icerisinde prepare()
fonksiyonunun hemen onunde "with oci8, this is emulated" yaziyor. Yani
her veritabani ya da her erisim arayuzu bunu problemsiz desteklemek
zorunda degil sanirim....
> PEAR kutuphanesi yada diger araclarin yaptigi is (saniyorum tahmininiz
> bu) "?" ile verilen parametreleri sirasiyla replace etmek degil. SQL
> sunucunun client kutuphanesi SQL sorgusunu ve parametreleri birbirinden
> ayri olarak tasiyor ve tum SQL sunucular, bu paremetreleri asil SQL
> sorgusunun icerigine bulastirmaksizin ayri bellek bolgelerinde sadece
> kiyaslama islemlerinde kullaniyorlar.
Bunu biliyorum. Sadece prepare edilmis, intermediate form'a
donusturulmus sorgular her veritabani ile desteklenmiyor ya da
veritabani soyutlama katmani (DB abstraction layer) tarafindan yalnizca
emule ediliyor olabilir diye endise ediyorum.
> Parametrik SQL
> sorgular ilk calistirildiklarinda bunlar icin (aslinda tum sorgular
> icin) bir optimization plan hazirlanir. Ayni sorgu ikinci kez
> calistirildiginda bu islemler daha once yapildigindan ikinci kez
> optimization uygulanmaz, daha hizli index/search yapilir ve sorgu
> calistirma suresi onemli olcude kisalir.
dogrudur. bu konuda son derece haklisin.
Daha once preperad-query denemedim php-PEAR ile. Az once verdigin
ornekteki gibi bir seyler denedim query() islevini bulamadi. PHP4.1.2
kullaniyorum, daha sonra eklenmis olabilir mi PEAR'a?
selamlar.
-- Burak DAYIOGLU Danisman, Pro-G Bilisim Guvenligi ve Arastirma Ltd. Phone: +90 312 2101494 Fax: +90 312 2101493 http://www.pro-g.com.tr ICQ UIN: 72276975