从bak SQL Server恢复PDO在获取PHP时返回false

从bak SQL Server恢复PDO在获取PHP时返回false,php,sql-server,pdo,Php,Sql Server,Pdo,我正在尝试获取.bak文件的兼容性级别。我这样做是为了得到它: $connection = new PDO("dblib:host=".$this->server.";dbname=".$this->dbname, $this->user, $this->password); $stmt = $connection->prepare('DECLARE @Bakpath varchar(500) SET @Bakpath = :path

我正在尝试获取
.bak
文件的兼容性级别。我这样做是为了得到它:

$connection = new PDO("dblib:host=".$this->server.";dbname=".$this->dbname, $this->user, $this->password);
$stmt = $connection->prepare('DECLARE @Bakpath varchar(500)
        SET @Bakpath = :path
        restore HEADERONLY from disk=@Bakpath');

$res = $stmt->execute(array('path' => 'C:\\datacaptures\\0003_0141_dataCapture.bak'));
$connection
是一个PDO对象

当我获取结果时,它返回
false

有人能帮我吗?在任何表格中使用与正常
选择
相同的代码部分都可以正常工作


谢谢

setQuery()
似乎不是PDO方法,那么$connection到底是什么呢?对不起,它是自定义类的方法。我已经编辑了这个问题。你能添加一些错误信息吗:
print\r($stmt->errorInfo())
errorInfo()打印如下内容:
数组([0]=>00000[1]=>0[2]=>(null)[0](严重性0)[(null)][3]=>0[4]=>0)
使用mssql本机函数返回我想要的数组:
数组([BackupName]=>DataCapture backup[BackupDescription]=>BackupType]=>1[ExpirationDate]=>0[Position]=>1[DeviceType]=>2[UserName]=>sa[ServerName]=>MEX0322SL[DatabaseName]=>DataCapture[DatabaseVersion]=>539…
我已经添加了PDO连接