在linux和mac上,我們使用的是dblib(FreeTDS)驅動程序。在Windows上,我們使用Microsofts SQLSRV驅動程序。我們被這樣一個混合的環境困住了一點,它很糟糕,但它就是這樣。'Windows PHP PDO需要nextRowset而'Nix沒有,我該如何解決這個問題?
如果我們有一個將插入到@variable表或#temp表的查詢,那麼使用這些結果來加入其他東西會導致我們遇到的問題。
僞查詢證明:
CREATE TABLE #someTempTable(
id INT PRIMARY KEY
)
INSERT INTO #someTempTable
SELECT someID FROM someRealTable
WHERE someColumn = someValue;
SELECT * FROM #someTempTable
INNER JOIN someOtherTable
ON someOtherTable.id = #someTempTable.id
DROP #someTempTable
在Windows上,我們必須調用$陳述書> nextRowset()之前,我們可以得到的結果,否則它是空
在「尼克斯結果可用沒有調用這個。
真正令人討厭的是,PDO沒有辦法獲得Rowsets的數量,甚至看不到在「當前」之後有另一個Rowsets。