【发布时间】:2015-08-25 20:06:31
【问题描述】:
尝试连接到 smarterasp.net dns 上的 mssql 服务器,但到目前为止没有成功。与驱动程序有一个先前的问题。安装它们并且它们运行良好(在 php.ini 中添加它们)
使用 php version: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"
没用
- 我是这样在主机名例子后面加了1433端口的
"sqlsrv:host=host_name_string;port=1433;Database=database_name_string"
没用
我已经测试了与我的 SQL 服务器管理工作室的连接和给定的数据(我在这里用作参数的值是 100% 好的)
我还有哪些其他选择?
【问题讨论】:
-
试试这个格式
$conn = new PDO("sqlsrv:Server=localhost;Database=testdb", "UserName", "Password"); -
我试过了,但这说明如下:此扩展需要 Microsoft ODBC Driver 11 for SQL Server 才能与 SQL Server 通信,老实说,我认为我不应该安装其他东西。 . 或者我应该?
-
我认为您没有其他选择——但之前从未使用过 MS 服务器
-
我认为您是对的,如果可行,我会这样做,然后将其发布为答案,我会接受。
标签: php sql-server pdo