0

我遵循 Rob Allen 的 ZF2 优秀教程(http://akrabat.com/wp-content/uploads/Getting-Started-with-Zend-Framework-2.pdf)。

我正在尝试连接到 Microsoft SQL Server 2008。当我在做

$this->getDatasTable()->fetchAll()

我收到以下错误:

PHP Warning:  sqlsrv_prepare() expects parameter 1 to be resource, null given in C:\inetpub\wwwroot\LinuxWebApp\source\vendor\zendframework\zendframework\library\Zend\Db\Adapter\Driver\Sqlsrv\Statement.php on line 153

在 config/autoload/global.php 我有:

return array(
'db' => array(
    'driver' => 'Sqlsrv',
    'dsn'            => 'sqlsrv:dbname=xxx;hostname=xxx',
    'username'       => 'xxx',
    'password'       => 'xxx',
    'driver_options' => array(
        PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\''
    ),
),
);

我做错了什么?

谢谢!

4

1 回答 1

0

PDO::MYSQL_ATTR_INIT_COMMAND不适用于 SQL Server。尝试删除该driver_options部分。

更新下一个想法:
参数 1 是 sqlsrv 资源,那么你能得到一个直接使用 PDO Sqlsrv 驱动程序的测试脚本吗?我现在想知道连接是否有问题。

于 2012-07-18T06:31:20.087 回答