1

我是 sql server 的新手,我只是想在 windows 7 机器上使用 iis 7 将 sql server express edition 2012 与 php 连接起来。

这是我的代码:

    $myServer = "ASUS\SQLEXPRESS";
    $myUser = "sa";
    $myPass = "1991";
    $myDB = "test"; 
    
    echo("aaaa");
    //connection to the database
    $dbhandle = mssql_connect($myServer, $myUser, $myPass);
    echo("bbbb");
    
    //select a database to work with
    $selected = mssql_select_db($myDB, $dbhandle)
      or die("Couldn't open database $myDB"); 
    
    //declare the SQL statement that will query the database
    $query = "SELECT *FROM mhs";
    
    //execute the SQL query and return records
    $result = mssql_query($query);
    
    $numRows = mssql_num_rows($result); 
    echo "<h1>" . $numRows . " Row" . ($numRows == 1 ? "" : "s") . " Returned </h1>"; 
    
    //display the results 
    while($row = mssql_fetch_array($result))
    {
      echo "<li>" . $row["nim"] . $row["nama"] . "</li>";
    }
    //close the connection
    mssql_close($dbhandle);

我的 php 代码在本地 iis 上运行,我认为用户名、密码和服务器名是正确的,但是当我在本地 iis 上执行它时,它没有显示任何错误,只是没有显示“aaaa”和“bbbb”。



我认为我在 mssql_connect 中错了,但有什么问题?有谁能够帮我?
谢谢。

4

3 回答 3

2

我不确定,但较新版本的 SQL 服务器与mssql不兼容。您应该使用更新SQLSRV (PHP.NET) OR SQLSRV (Microsoft Site)。我在使用 MSSQL 时遇到了同样的问题,最后转向了 SQLSRV。现在它工作正常。

于 2013-07-03T08:45:51.270 回答
0

将您的代码更改为下面写的内容,以便您可以捕获错误。

$dbhandle = mssql_connect($myServer, $myUser, $myPass) or die(mssql_error());
于 2013-07-03T07:06:36.407 回答
0

请按照以下步骤将 MSSQL 与 php 连接:

  1. 与您的 php.ini 文件相关的设置:

    a)在您的php.ini文件中搜索变量mssql.secure_connection ,如果它关闭,则将其置于开启模式 b) 从 dll 扩展php_mssql.dll中删除注释(即从扩展的前面删除 ;)

  2. 与 dll 文件相关的设置。从 Internet下载一个名为ntwdblib.dll的文件。你可以从这里下载,也可以在互联网上搜索。将下载的 dll 复制到 apache/bin 目录,对于 IIS,将其复制到 php 扩展目录(如果路径未知,可以在 php.ini 中找到变量 extension_dir),您还需要在 php 扩展目录中包含php_mssql.dll . 如果它不存在,请下载它并将其复制到默认的 php 扩展目录。

  3. 重新启动所有服务(即 php 和 apache 或 iis),您可以使用下面给出的脚本连接到您的 SQL Server。

于 2013-07-03T08:24:17.637 回答