我正在尝试从php连接到mssql数据库。 我已经为此安装了驱动程序。
现在我遇到以下错误:
Array([0] => Array([0] => 28000 [SQLSTATE] => 28000 [1] => 18456 [code] => 18456 [2] => [Microsoft] [用于SQL的ODBC驱动程序13服务器[SQL Server]用户'domain \ user'登录失败。[消息] => [Microsoft] [SQL Server ODBC驱动程序13] [SQL Server]用户'domain \ user'登录失败。)[1] =>数组([0] => 28000 [SQLSTATE] => 28000 [1] => 18456 [code] => 18456 [2] => [Microsoft] [用于SQL Server的ODBC驱动程序13] [SQL Server]登录失败用户[domain]为用户“域\用户”。[消息] => [Microsoft] [SQL Server ODBC驱动程序13] [SQL Server]用户“域\用户”登录失败。))
有什么我想念的吗?
编辑: 我的连接字符串:
$serverName = "server, port";
$connectionInfo = array( "Database"=>"my_database");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn == false)
{
echo "Unable to connect.<br />";
die( print_r( sqlsrv_errors(), true));
}
编辑2:
带有用户和密码的代码示例
$serverName = "server, port"; //serverName\instanceName
$connectionInfo = array( "Database"=>"my_database", "UID"=>"domain\user", "PWD"=>"my_pw");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn ) {
echo "Connection OK.<br />";
}else{
echo "Unable to connect.<br />";
die( print_r( sqlsrv_errors(), true));
}
答案 0 :(得分:0)
必须在wampapaches服务中修改身份验证方法。我把我的用户放在那里,通过并正常工作。
答案 1 :(得分:0)
我有一个类似的问题。我有一个php脚本来访问由供应商托管的mssql数据库。我们不能使用Windows身份验证。用户名和密码有效,因为它可与python一起使用。我们发现供应商提供的密码包含一个$,在PHP中表示一个变量。我们将密码周围的双引号更改为单引号,并且可以正常工作。这是由服务器启用了魔引号引起的,解决方法是使用单引号强制PHP将密码识别为字符串。