10

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

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

try {

    $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 字段都是空白的。

我从microsoft下载了我的驱动程序,并且我尝试了 2.0 和 3.0

任何建议都会很棒!

4

3 回答 3

8

mssql是老办法,sqlsrv应该更合适!事实上,扩展名也被称为 (extension=php_pdo_ sqlsrv _53_ts_vc9.dll) ;)

try {

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

} catch (PDOException $e) {

    echo $e->getMessage();
}

希望这可以帮助!

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

文档中的示例

于 2013-05-01T00:13:49.643 回答
4

不确定这是否是由于运行了 CentOS x86_64 机器但sqlsrv没有作为我的驱动程序,我不得不使用dblib

try {

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

} catch (PDOException $e) {

    echo $e->getMessage();
}

来源并感谢

于 2014-03-20T15:36:41.997 回答
0

正如我在本文中所说, 请注意您必须使用正确版本的 php_sqlsrv_xx_xts_xxx.dll 和 php_pdo_sqlsrv_xx_xts_xx.dll 文件。 在此处输入图像描述

例如,如果您使用 php 版本 7.4 和 64 位系统和 wamp,您必须下载并使用这些文件:php_sqlsrv_74_ts_x64.dll php_pdo_sqlsrv_74_ts_x64.dll 下载您可以使用此站点: https://go.microsoft.com/fwlink/? linkid=2152937 https://docs.microsoft.com/en-us/sql/connect/php/download-drivers-php-sql-server?view=sql-server-ver15

于 2021-12-07T12:07:56.147 回答