PHP:如何建立与SQL Server的连接?

时间:2012-12-02 03:10:19

标签: php sql-server windows-authentication

我通常将SQL Server与SQL Server Management Studio一起使用。登录时我使用Windows身份验证,不指定用户名/密码。所以我现在使用的用户名/密码与我登录计算机时的用户名/密码相同。我正在尝试通过PHP建立与服务器的连接;但是,我收到了一个错误。谁知道我做错了什么?

代码

    $serverName = "MYPCNAME"; 

    $connectionInfo = array( "Database"=>"College", "UID"=>"MYUSERNAME", "PWD"=>"MYPASSWORD");

    $conn = sqlsrv_connect( $serverName, $connectionInfo);

    if( $conn ) {
         echo "Connection established.<br />";
    }else{
         echo "Connection could not be established.<br />";
         die( print_r( sqlsrv_errors(), true));
    }

错误

Connection could not be established.
Array ( [0] => Array ( [0] => 28000 [SQLSTATE] => 28000 [1] => 18456 [code] => 18456 [2] => [Microsoft][SQL Server Native Client 11.0][SQL Server]Login failed for user 'MYUSERNAME'. [message] => [Microsoft][SQL Server Native Client 11.0][SQL Server]Login failed for user 'MYUSERNAME'. ) [1] => Array ( [0] => 28000 [SQLSTATE] => 28000 [1] => 18456 [code] => 18456 [2] => [Microsoft][SQL Server Native Client 11.0][SQL Server]Login failed for user 'MYUSERNAME'. [message] => [Microsoft][SQL Server Native Client 11.0][SQL Server]Login failed for user 'MYUSERNAME'. ) )

3 个答案:

答案 0 :(得分:2)

我认为问题出在您的SQL Server配置中。您应该有一个用户使用SQL Server身份验证而不是Windows身份验证。以下是https://support.gearhost.com/KB/a453/adding-users-to-mssql-using-sql-server-management-studio.aspx

的方法

您可能还想检查您的SQL Server TCP / IP配置是否可以远程访问:http://blogs.msdn.com/b/walzenbach/archive/2010/04/14/how-to-enable-remote-connections-in-sql-server-2008.aspx

答案 1 :(得分:0)

您应该考虑切换到SQL Server身份验证,这使您可以使用一系列帐户。

您使用的登录信息似乎不正确;我过去使用过SQL Server,在注册过程中你应该(如果我错了,请纠正我)要求输入“sa”的密码

SQLSTATE = 28000 - Review This

告诉我看看这是否为您提供了解决方案?

此外,如果您使用的是Windows身份验证,请查看以下链接:Connect to MSSQL Server Using Windows Authentication

答案 2 :(得分:0)

我认为您无法使用Windows身份验证从PHP连接到SQL,您可能还需要启用SQL身份验证并连接到SA或其他SQL级帐户。