我是sql server的新手,我只想在Windows 7计算机上使用iis 7将sql server express 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代码,我认为用户名,密码和服务器名是正确的,但是当我在本地iis上执行它时,它没有显示任何错误,只是没有显示'aaaa'和'bbbb'。
我认为我在mssql_connect中错了,但是怎么了? 有谁能够帮助我?
谢谢。
我不确定,但是较新版本的SQL服务器与mssql不兼容。 您应该使用更新SQLSRV(PHP.NET)或SQLSRV(Microsoft网站) 。 我在使用MSSQL时遇到了同样的问题,最后转移到了SQLSRV。 现在工作正常。
将您的代码更改为以下内容,以便您可以捕获错误。
$dbhandle = mssql_connect($myServer, $myUser, $myPass) or die(mssql_error());
请按照以下给出的步骤将MSSQL与php连接:
与您的php.ini文件相关的设置:
a)在您的php.ini文件中搜索变量mssql.secure_connection ,如果其关闭则将其置于打开模式
b)从dll扩展php_mssql.dll中删除注释(即,从扩展的前面删除;)
与dll文件相关的设置。 从Internet下载文件名ntwdblib.dll 。 您可以从此处下载它,也可以在互联网上搜索。 将下载的dll复制到apache / bin目录,对于IIS,将其复制到php扩展目录(如果在php.ini中找不到变量extension_dir的路径),则还需要在php扩展目录中拥有php_mssql.dll 。 如果不存在,请下载并将其复制到默认的php扩展目录。
重新启动所有服务 (即php和apache或iis),然后可以使用下面给出的脚本连接到SQL Server。