データベース管理システム Sybase ASE は複数の結果セットをサポートしていますが、PHP での Sybase の実装はサポートしていません。この問題に関して報告されたバグがあり、その報告で提供されるパッチもあります (https://bugs.php.net/bug.php?id=48675)。パッチはバージョン 5.2.9 用で、バージョン 5.3.10 に追加しようとしました。ソースは警告やエラーなしでビルドされ、新しい関数 'sybase_next_result()' をテストしても致命的なエラー「Call to undefined function」は発生しません。これは、機能が実装されているが、期待どおりに機能していないことを示唆しています。
構成は次のとおりです。
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: Unexpected results, canceling current in...」という通知が 'sybase_query()' に表示されます。最初の結果セットが取得されます。そして、この通知はパッチがなくても返されます。
複数の結果セットを返すデータベース内のストアド プロシージャの数は膨大であり、'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 です。
これを「解決」した人はいますか?
//ジョナスに関して