我是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中错了,但是错了什么?有谁能够帮我?
感谢。
答案 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连接:
与php.ini文件相关的设置:
a)在 php.ini 文件中搜索变量 mssql.secure_connection ,如果已关闭,则将其置于启用模式 b)从dll扩展名 php_mssql.dll 中删除评论(即从扩展名前面删除;
与dll文件相关的设置。从Internet下载文件名 ntwdblib.dll 。您可以从 here 下载,也可以在互联网上搜索。将下载的dll复制到apache / bin目录,然后将IIS复制到php扩展目录(如果路径未知,可以在php.ini中找到变量extension_dir),还需要你的 php_mssql.dll 在你的php扩展目录中。如果它不存在请下载并将其复制到默认的php扩展目录。
重新启动所有服务(即php和apache或iis),您可以使用下面给出的脚本连接到您的SQL Server。