MSSQL PDO 找不到驱动程序

2021-12-26 00:00:00 database php pdo

我使用的是通过 XAMPP 和 Microsoft SQL Server 2008 R2 (SQLEXPRESS) 安装的 PHP 5.3.8 版.我已经正确安装了驱动程序(我猜)并在 php.ini 中添加了正确的行(确切地说是 extension=php_pdo_sqlsrv_53_ts_vc9.dll).

我正在尝试像这样连接到服务器:

尝试{$DBH = new PDO("mssql:host=xxxx;dbname=xxxx", 'xxxx', 'xxxx');} catch(PDOException $e) {echo $e->getMessage();}

我收到了找不到驱动程序"的错误消息,我已经对其进行了各种调整以解决该问题.我已经尝试了所有其他类型的驱动程序,但这是唯一一个 Apache 在启动时不给我错误的驱动程序.当我运行 phpinfo() 时,除了 pdo_sqlsrv.log_severity 设置为 0 之外,pdo_sqlsrv 字段都是空白的.

我从

I'm using PHP Version 5.3.8 that was installed via XAMPP along with Microsoft SQL Server 2008 R2 (SQLEXPRESS). I have the drivers installed correctly (i guess) and have added the correct line into php.ini (extension=php_pdo_sqlsrv_53_ts_vc9.dll to be exact).

I'm trying to connect to the server like so:

try {

    $DBH = new PDO("mssql:host=xxxx;dbname=xxxx", 'xxxx', 'xxxx');

} catch(PDOException $e) {

    echo $e->getMessage();
}

I get the "could not find driver" error, and I've tweaked it all kinds of ways to solve the problem. I've tried all other kinds of drivers, but this is the only one that Apache doesn't give me an error on startup. When I run phpinfo(), the pdo_sqlsrv fields are all blank except pdo_sqlsrv.log_severity which is set to 0.

I DL'd my drivers from microsoft, and I've tried both 2.0 and 3.0

Any advice would be awesome!!

解决方案

mssql is the old way of doing it, sqlsrv should be more appropriate! In fact the extension is called (extension=php_pdo_sqlsrv_53_ts_vc9.dll) as well ;)

try {

    $DBH = new PDO("sqlsrv:Server=xxxx;Database=xxxx", 'xxxx', 'xxxx');

} catch (PDOException $e) {

    echo $e->getMessage();
}

Hope this helps!

Source : http://php.net/manual/fr/ref.pdo-sqlsrv.connection.php

相关文章