PHP / Xampp / PDO - 使用PHP中的PDO库将本地xampp连接到在线数据库

时间:2016-04-26 08:53:09

标签: php pdo xampp

基本上是标题,

当我尝试连接数据库时,我收到错误:could not find driver

我在网上搜索过,据说我必须取消注释几个扩展名。 我在extension=php_pgsql.dll的{​​{1}}中取消注释了extension=php_pdo_pgsql.dllphp.ini,但这并没有解决它。

当我在在线服务器上运行我的代码时,数据库连接正常工作。 我正在使用PDO将数据库用于MSSQL服务器。

基本信息:

  • 我在Windows上使用XAMPP控制面板V3.2.2
  • 我这样连接:

    C:\xampp\php

修改

我为PDO下载了MSSQL驱动程序。 我添加了这两个扩展名:

define("USER_NAME", "myusername");
define("DATABASE", "mydatabase");
define("PASSWORD", "mypassword");
define("HOST", "myhost");

try{
    $db = new PDO("dblib:host=".HOST.";dbname=".DATABASE, USER_NAME, PASSWORD);
    $db->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
}catch(PDOException $exception){
    echo $exception->getMessage();
    exit;
}

没有成功。

2 个答案:

答案 0 :(得分:0)

- 编辑 -

您启用了错误的扩展名以使用MSSQL数据库。

因此,您可以查看dll的dblib文档(来自https://stackoverflow.com/users/934966/jon-stirling的提示)。

-original -

您忘记了主机的数据库服务器端口(host =“。HOST。”:“。PORT。”;):

define("USER_NAME", "myusername");
define("DATABASE", "mydatabase");
define("PASSWORD", "mypassword");
define("HOST", "myhost");
define("PORT", "10060");

try{
    $db = new PDO("dblib:host=".HOST.":".PORT.";dbname=".DATABASE, USER_NAME, PASSWORD);
    $db->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
}catch(PDOException $exception){
    echo $exception->getMessage();
    exit;
}

希望这有效!

更多信息: http://php.net/manual/en/ref.pdo-dblib.php

答案 1 :(得分:-1)

您不能在XAMPP3.2.2中使用PDO_dblib

This extension is not available anymore on Windows with PHP 5.3 or later.

在Windows上,您应该使用SqlSrv