基本上是标题,
当我尝试连接数据库时,我收到错误:could not find driver
。
我在网上搜索过,据说我必须取消注释几个扩展名。
我在extension=php_pgsql.dll
的{{1}}中取消注释了extension=php_pdo_pgsql.dll
和php.ini
,但这并没有解决它。
当我在在线服务器上运行我的代码时,数据库连接正常工作。 我正在使用PDO将数据库用于MSSQL服务器。
基本信息:
我这样连接:
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;
}
没有成功。
答案 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;
}
希望这有效!
答案 1 :(得分:-1)
您不能在XAMPP3.2.2中使用PDO_dblib
This extension is not available anymore on Windows with PHP 5.3 or later.
在Windows上,您应该使用SqlSrv