尝试连接到 smarterasp.net dns 上的 mssql 服务器,但到目前为止没有成功。之前与驱动程序有问题。安装它们并且它们运行良好(将它们添加到 php.ini 中)
使用 php 版本:5.6,将以下内容添加到 php.ini 以便 php-pdo-mssql 工作:
- extension=php_pdo_sqlsrv_56_nts.dll
- extension=php_pdo_sqlsrv_56_ts.dll
- extension=php_sqlsrv_56_nts.dll
- extension=php_sqlsrv_56_ts.dll
到目前为止我对这段代码做了什么:
<?php
try {
$conn = new PDO("sqlsrv:host=host_name_string;dbname=database_name_string", "username_string", "password_string");
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "Connected successfully";
}
catch(PDOException $e)
{
echo "Connection failed: " . $e->getMessage();
}
?>
- 我输入了数据库而不是 dbname,它不起作用
- 我用数据库代替了 dbname,它不起作用
- 我在主机名示例后添加了端口 1433:
"sqlsrv:host=host_name_string,1433;Database=database_name_string"
没用
- 我是这样在主机名example后面加上1433端口的
"sqlsrv:host=host_name_string;port=1433;Database=database_name_string"
没用
我已经测试了与我的 SQL 服务器管理工作室的连接和给定的数据(我在这里用作参数的值 100% 正常)
我还有哪些其他选择?
最佳答案
连接的正确格式是:
$conn = new PDO("sqlsrv:Server=localhost;Database=testdb", "UserName", "Password");
来自手册页:PDO_SQLSRV DSN
关于PHP-PDO 错误 : An invalid keyword 'host' was specified in the DSN string,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32213104/