【问题标题】:How to connect to SQL Server database through PHP?如何通过 PHP 连接到 SQL Server 数据库?
【发布时间】:2012-02-12 14:49:57
【问题描述】:

我正在为需要连接到 SQL Server 数据库的 Android 应用程序构建 Web 服务。我正在尝试通过家用计算机上的 PHP (WAMP) 连接到 SQL Server 数据库。

但是,我没有 SQL Server 经验,也不知道如何继续。对于 SQL Server,我使用的是默认设置和 Windows 身份验证,所以我不确定在连接字符串中输入什么内容。

你下面有我的连接:

$connStr = "PROVIDER=SQLOLEDB;SERVER=".$myServer.";UID=".$myUser.";PWD=".$myPass.";DATABASE=".$myDB; 
$conn->open($connStr); //Open the connection to the database

到目前为止,我还没有找到具体的例子,所以我需要知道在 Windows 身份验证的情况下,$myServer$myUser 等变量需要是什么。

另外,如何在 SQL Server 中切换到用户名和密码身份验证?

LE:使用 Microsoft SQL Server 2008 和 SQL Server Management Studio

【问题讨论】:

    标签: php sql-server-2008 wamp


    【解决方案1】:

    PDO 是在 PHP 中连接到不同数据库的公认方式。它还有一个driver for MS-SQL

    这是一个例子 (From PDO MSSQL)

    $con = new PDO("sqlsrv:Server=localhost;Database=testdb", "UserName", "Password");
    

    【讨论】:

    • 对不起...在这些方面我是个菜鸟。所以......我将放弃我目前的尝试并使用 PDO。为此,我需要为 PHP 安装另一个驱动程序,就像我安装 Microsoft 的一样,对吧? :D
    • 首先通过运行 phpinfo(); 检查支持。您应该会看到类似“启用 PDO 支持”“PDO 驱动程序 dblib、mysql、odbc、pgsql、sqlite、sqlite2”之类的内容现在我不确定,但您需要 dblib 或 sqlsrv(其中一个用于 *nix,一个用于 windows afaik) ,如果它在那里你可以使用它,如果不是那么你需要在你的服务器(wamp)中将适当的.dll添加到php.ini,寻找类似的东西:extension = php_pdo_mssql.dll(我猜应该评论)我使用 linux,因此无法帮助您了解 windows 下文件和扩展名的确切位置。祝你好运:)
    • Here is a thread from wamp's server site 这可能是一个很好的起点。也可以随意将此讨论转移到聊天中,我可以在那里为您提供帮助
    【解决方案2】:

    微软做了一个driver for PHP,但我认为最好还是用PDO。

    您可以使用 PDO_SQLSRV:

    $dbh = new PDO("sqlsrv:Server=$hostdb;Database=$dbname", $usr, $psw);
    

    或使用 PDO_DBLIB(自 PHP 5.3 起在 Windows 上不可用):

    $dbh = new PDO("dblib:host=$hostdb;dbname=$dbname", $usr, $psw);       
    

    【讨论】:

      【解决方案3】:

      在相关说明中,如果人们不再坚持使用 mysql* 扩展(并且可怕的“教程”网站不再提倡使用它们)而不是非常优越的 PDO 扩展,那么同样的命运等待着 mysql* 扩展。 – rdlowrey 2012 年 2 月 12 日 14:58

      【讨论】:

        【解决方案4】:
        $dbh = new PDO("sqlsrv:Server=$hostdb;Database=$dbname", $usr, $psw);
        

        【讨论】:

          【解决方案5】:

          根据:http://www.php.net/manual/en/function.mssql-connect.php

          mssql_connect($servername, $username, $password)
          

          是您连接到 Microsoft SQL 数据库的方式。

          【讨论】:

          • 此扩展在 PHP 5.3 或更高版本的 Windows 上不再可用。 php.net/manual/en/intro.mssql.php
          • RTFM 答案应该是 cmets,而不是答案。
          • 在相关说明中,同样的命运等待着 mysql* 扩展,如果人们不再坚持使用它们(并且可怕的“教程”网站不再提倡它们)而不是非常优越的 @987654325 @扩展。
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-09-01
          • 2020-03-07
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多