PHP, isteğe bağlı parametreleri olan bir ADO nesne yöntemi çağrılarak

1 Cevap php

Neredeyse PHP ile ADO erişmek için yapılır yardımcı fonksiyonları temel bir set var. $ Cmd-> Execute (, adExecuteNoRecords) için belirlenen adExecuteNoRecords seçeneği ile bir saklı yordamı çalıştırmak için çalışırken ben bir sorun haline çalıştırıyorum;

Ben, ilk iki parametre vb yeni VARAINT (), yeni VARIANT (null), yeni VARIANT (VT_EMPTY), null bulunuyor denedim ..

Ben bir veya Tip Uyuşmazlığı bir com_exception "referans ile parametre 1 geçmek olamaz" geri almak, ve ya -> (, adExecuteNoRecords) Yürütme PHP ayrıştırma geçmez.

Ben arama yeraldığını yaptık, ama bu kullanan herkes tek bir örnek bulamadık.

Yani isteğe bağlı parametreleri olan bir COM nesnesinin yöntemini çağırırken PHP, nasıl başlayan parametrenin hiçbir şey ayarlarım?

Teşekkürler.

1 Cevap

İsteğe bağlı params yerine $missing = new Variant(VT_ERROR) geçen deneyin.

Btw, COM params, hatta isteğe bağlı, hala türleri var. Isteğe bağlı param bstr ise genellikle boş bir dize geçirmeden gibi atlayarak. Ne garip görünebilir isteğe param için varsayılan değer tür kitaplığında belirtilen olmasıdır. Yani İsteğe bağlı bstr param bir "abc" varsayılan değeri olabilir. Yani PHP çağrı inşa önce bu araştırma gerekir. Belirli durumda belirli varsayılan olmadan 3 isteğe bağlı Varyant params vardır Yürüt, bu yüzden eksik Varyant param belirtmek için VT_ERROR kullanın.