我正在使用通过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 DL我的司机,我已经尝试了2.0和3.0
任何建议都很棒!!
答案 0 :(得分:7)
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();
}
希望这有帮助!
答案 1 :(得分:2)
不确定这是否是由于运行CentOS x86_64计算机而sqlsrv
无法作为我的驱动程序,我必须使用dblib
:
try {
$DBH = new PDO("dblib:host=xxxx;dbname=xxxx", 'xxxx', 'xxxx');
} catch (PDOException $e) {
echo $e->getMessage();
}
来源并感谢:http://grover.open2space.com/content/use-php-and-pdo-connect-ms-sql-server