數據庫管理系統Sybase ASE支持多個結果集,但是PHP中Sybase的實現不支持。在這個問題上報告了一個錯誤,並在該報告中提供了一個補丁(https://bugs.php.net/bug.php?id=48675)。該補丁適用於5.2.9版,我試圖將其添加到版本5.3.10。源代碼沒有警告或錯誤,並且測試新函數'sybase_next_result()'不會產生致命錯誤「調用未定義的函數」。這表明該功能已經實現,但不能按預期工作。修補PHP 5.3.10以支持sybase_next_result()
配置爲:
configure --disable-isapi --enable-debug-pack --without-mssql --without-pdo-mssql --without-pi3web --with-mcrypt=static --disable-static-analyze --enable-cli --with-sybase-ct=%SYBASE%\%SYBASE_OCS%
有一個通知書 'sybase_query()' 當有多個結果集說的 「Sybase:意外的結果,在...取消當前」。第一個結果集被檢索。即使沒有補丁,此通知也會返回。
返回多個結果集的數據庫中的存儲過程的數量很大,'sybase_next_result()'將是最佳解決方案。簡而言之,我在PHP 5.3.10中尋找與Sybase的'mssql_next_result()'(http://se2.php.net/manual/en/function.mssql-execute.php)相當的東西。
值得注意的是,Sybase實施的其他部分已就位並且看起來像預期的那樣工作。
我的測試環境是WAMP服務器(Windows 7,Apache 2.21,MySQL 5.5.20,PHP 5.3.10),Sybase ASE是15.7.0版本。
有沒有人有解決這個問題?
至於 //喬納斯
我無法解決這個問題。那些已經成功修補PHP以保存'sybase_next_result()的工作函數的人?我希望這個功能將被納入即將發佈的PHP版本。 – jbollden 2012-04-25 09:17:50