通过PHP操作SQL Server数据库

发布时间:2009年06月20日      浏览次数:627 次
虽然PHP+MySQL进行网络开发是最佳的选择,但是对于已经熟悉并掌握了SQL Server的读者来说,可能会使用SQL Server作为网站后台数据库,这时,就需要通过使用PHP来连接SQL Server数据库。
PHP同SQL Server数据库的连接步骤同MySQL基本类似,而且函数结构及声明也基本类似,如MySQL连接服务器的函数是mysql_connect(),而连接SQL Server的函数是mssql_connect(),只要将mysql替换成mssql即可。
在默认情况下,是不能连接SQL Server数据库的。为了能够连接SQL Server数据库,必须修改php.ini文件的设置(在更改文件前需要去除该文件的只读属性),将“extension=php_mssql.dll”语句前面的分号删除,如图9.18所示,然后,重新启动Apache服务器。
mssql_connect()函数用于连接SQL Server服务器,该函数的语法如下:
resource mssql_connect([string servername[,string username[,string password]]]);
其中,参数servername表示服务器名称;username表示用户名;password表示密码。
例如,用户连接本机SQL Server服务器的代码如下:
$link=mssql_connect("localhost","sa","");
9.2.2 图书信息查询
PHP操纵SQL server数据库用到了MySQL函数库中的相关函数,下面对这些函数进行介绍。
1.mssql_connect()函数
该函数用于建立数据库的连接。语法如下:
resource mssql_connect(string [servername], string [username], string [password]);
2.mssql_select_db()函数
该函数用于选择数据库文件。语法如下:
resource mssql_select_db(string database_name, int [link_identifier]);
3.mssql_query()函数
该函数用于查询字符串。语法如下:
resource mssql_query(string query, int plink_identifier));
4.mssql_fetch_array()函数
该函数用于将查询结果result分割到数组变量中。语法如下:
resource array mssql_fetch_array(int result);
5.mssql_close()函数
该函数用于关闭与数据库的连接。语法如下:
boolean mssql_close(int [link_identifier]);
信息查询在动态网站开发过程中应用最为广泛。下面这个范例主要介绍PHP与SQL Server进行数据库的操作。
范例09-10 图书信息查询
范例位置:mr\fl\09\10

录像位置:mr\lx\09

本范例通过接收文本框传递的值赋值给session变量,来检索与之匹配的图书信息(支持模糊查询),单击【查询】按钮,即可将符合图书名称的图书信息显示在浏览器中,运行结果如图9.19所示。
图9.19 图书信息查询
本范例的实现过程如下。
(1)首先,利用包含文件命令include引用数据库配置文件“conn.php”,代码如下:
<?php
include "conn.php";
?>
在“conn.php”文件中,主要应用mssql_connect()函数和mssql_select_db()函数建立数据源的连接,代码如下:
<?php
$conn=mssql_connect("localhost","sa","");
mssql_select_db("DB_Book",$conn);
?>
(2)创建记录集。首先,通过表单判断用户是否单击了【查询】按钮,然后,通过接收文本框传递的值赋值给session变量,再利用查询语句检索符合条件的数据信息。最后,利用if条件语句判断记录集是否为空,如果为空,输出提示信息“对不起,您检索的图书信息不存在!”,否则,利用Do…while循环语句将符合条件的信息输出到浏览器中,程序完整代码如下:
<?php
if ($_POST["Submit"]!=""){
session_start();
$_SESSION[txt_book]=$_POST[txt_book];
?>
<table width="92%" border="1">
<tr align="center" bgcolor="#DEEFF7">
<td>编号</td><td>图书名称</td><td>发行日期</td><td>单价</td><td width="100">内容介绍</td>
<td>作者</td><td>出版社</td></tr>
<?php
$sql=mssql_query("select * from tab_book where bookname like '%$_SESSION[txt_book]%'");
$info=mssql_fetch_array($sql);
if($info==False){
echo "对不起,您检索的图书信息不存在!";
}
else{
do{
?>
<tr>
<td> <?php echo $info[id];?> </td>
<td width="180"> <?php echo $info[bookname];?> </td>
<td> <?php echo $info[issueDate];?> </td>
<td> <?php echo $info[price];?></td>
<td width="260"> <?php echo $info[Synopsis];?></td>
<td> <?php echo $info[Maker];?></td>
<td> <?php echo $info[Pulisher];?></td>
</tr>
<?php
}
while($info=mssql_fetch_array($sql));
mssql_close(); //关闭数据库连接
}
}
?>
</table>
免责声明:本站相关技术文章信息部分来自网络,目的主要是传播更多信息,如果您认为本站的某些信息侵犯了您的版权,请与我们联系,我们会即时妥善的处理,谢谢合作!