PDO_DBLIB MSSQL更多语句错误

时间:2015-05-07 07:39:38

标签: php sql-server pdo

我在localhost(开发)上使用 pdo_sqlsrv 驱动程序,在Linux服务器(生产)上使用 pdo_dblib 驱动程序与MS SQL 2008进行通信。

我发现了一些差异。例如 pdo_dblib 忽略SET NOCOUNT ON并仍然返回(空)结果集,SELECT查询不起作用后的rowcount(光标设置没有帮助)等。

最令人讨厌的是使用两个或多个语句:

$pdo = new PDO([ ... ]);

$stmtA = $pdo->query("SELECT 1 AS number, 'aaa' AS text");
$stmtB = $pdo->query("SELECT 'val' AS value");

print_r($stmtA->fetch(PDO::FETCH_ASSOC));
print_r($stmtB->fetch(PDO::FETCH_ASSOC));

PDO_SQLSRV

Array
(
    [number] => 1
    [text] => aaa
)

Array
(
    [value] => val
)

没关系,我有两个陈述和两个正确的结果。

pdo_dblib

Array
(
    [value] => val
    [text] => 
)

bool(false)

结果不正确。第一个语句是两个语句的奇怪组合,第二个语句返回false。

有什么解决方案,如何创建更多的陈述?或者可以在Linux上使用不同的(更好的)PDO / MSSQL驱动程序?

0 个答案:

没有答案