【问题标题】:PDO could not find driverPDO 找不到驱动程序
【发布时间】:2017-11-07 05:05:11
【问题描述】:

我使用的是通过 WAMPP 安装的 PHP 版本 5.6.25。我在连接到 mySQL DB 上的数据库时遇到问题:

$server = 'jdbc:sqlserver://DB-1\POWERPIVOT;databaseName=SBV_Foldio';
$user = 'sa';
$pass = 'host';

我检查了 PDO 扩展并已安装

if (!defined('PDO::ATTR_DRIVER_NAME')) {
echo 'PDO is unavailable<br/>';
}
elseif (defined('PDO::ATTR_DRIVER_NAME')) {
    echo 'PDO is available<br/>';
}

PDO 可用

但是当我运行连接时

try {
$dbh = new PDO($server, $user, $pass);

$dbh = null;
} catch (PDOException $e) {
    print "Error!: " . $e->getMessage() . "<br/>";
}

失败了

错误!:找不到驱动程序

【问题讨论】:

  • phpinfo(); 检查你那里是否有 pdo_mysql。如果您在 Linux 上:检查您是否安装了正确的软件包:dpkg --get-selections | grep php5-mysql
  • 是的,我在 phpinfo() 中有 pdo_mysql 块
  • 您的问题是您没有安装 PDO_ODBC 模块。见php.net/manual/en/ref.pdo-odbc.php - 更新:我写了一个答案。
  • 我正在使用窗口,并且我已经启用了我在 php.init 中可以使用的所有扩展,但仍然无法正常工作

标签: php mysql pdo


【解决方案1】:

问题是您现在没有安装 PDO_ODBC 模块。 PDO 似乎已正确配置和安装。请参阅http://php.net/manual/en/ref.pdo-odbc.php 了解更多信息。

你显然是在运行窗口,所以:

在 Windows 上,必须启用 php_pdo_odbc.dll 作为 php.ini 中的扩展名。它与 Windows ODBC 驱动程序管理器链接,因此 PHP 可以连接到编目为系统 DSN 的任何数据库,并且是连接到 Microsoft SQL Server 数据库的推荐驱动程序。

【讨论】:

  • tks 但我什么都做不了 xD
猜你喜欢
  • 2016-08-05
  • 2014-07-23
  • 2013-04-25
  • 2017-09-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多