9.2  通过PHP操作SQL Server数据库
9.2.1  连接SQL Server数据库
虽然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">
php远程连接mysql数据库
      <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>
9.2.3  图片分栏显示
在图片信息较多的页面中,将图片进行分栏显示可以使整个页面布局清晰,下面结合具体范例介绍图片分栏的技术。
范例09-11  图片分栏显示
 范例位置:mr\fl\09\11
 录像位置:mr\lx\09
在开发信息资源网站时,对资源信息的显示方法有多种,如分页显示、跳转页码显示等,本范例主要介绍分栏显示信息的方法,运行结果如图9.20所示。
图9.20  图片分栏显示
首先建立数据库连接文件,该文件代码如下:
<?php
    $conn=mssql_connect("localhost","sa","");            //连接数据库服务器

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。