mssql_connect显示空白页面

时间:2013-07-03 07:05:09

标签: php iis-7 sql-server-express

我是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);

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



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

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

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

$dbhandle = mssql_connect($myServer, $myUser, $myPass) or die(mssql_error());

答案 2 :(得分:0)

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

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

    a)在 php.ini 文件中搜索变量 mssql.secure_connection ,如果已关闭,则将其置于启用模式 b)从dll扩展名 php_mssql.dll 中删除评论(即从扩展名前面删除;

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

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