通过PHP操作SQL Server数据库.docx

上传人:b****6 文档编号:12883633 上传时间:2023-06-08 格式:DOCX 页数:12 大小:81.54KB
下载 相关 举报
通过PHP操作SQL Server数据库.docx_第1页
第1页 / 共12页
通过PHP操作SQL Server数据库.docx_第2页
第2页 / 共12页
通过PHP操作SQL Server数据库.docx_第3页
第3页 / 共12页
通过PHP操作SQL Server数据库.docx_第4页
第4页 / 共12页
通过PHP操作SQL Server数据库.docx_第5页
第5页 / 共12页
通过PHP操作SQL Server数据库.docx_第6页
第6页 / 共12页
通过PHP操作SQL Server数据库.docx_第7页
第7页 / 共12页
通过PHP操作SQL Server数据库.docx_第8页
第8页 / 共12页
通过PHP操作SQL Server数据库.docx_第9页
第9页 / 共12页
通过PHP操作SQL Server数据库.docx_第10页
第10页 / 共12页
通过PHP操作SQL Server数据库.docx_第11页
第11页 / 共12页
通过PHP操作SQL Server数据库.docx_第12页
第12页 / 共12页
亲,该文档总共12页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

通过PHP操作SQL Server数据库.docx

《通过PHP操作SQL Server数据库.docx》由会员分享,可在线阅读,更多相关《通过PHP操作SQL Server数据库.docx(12页珍藏版)》请在冰点文库上搜索。

通过PHP操作SQL Server数据库.docx

通过PHP操作SQLServer数据库

9.2 通过PHP操作SQLServer数据库

9.2.1 连接SQLServer数据库

虽然PHP+MySQL进行网络开发是最佳的选择,但是对于已经熟悉并掌握了SQLServer的读者来说,可能会使用SQLServer作为网站后台数据库,这时,就需要通过使用PHP来连接SQLServer数据库。

PHP同SQLServer数据库的连接步骤同MySQL基本类似,而且函数结构及声明也基本类似,如MySQL连接服务器的函数是mysql_connect(),而连接SQLServer的函数是mssql_connect(),只要将mysql替换成mssql即可。

在默认情况下,是不能连接SQLServer数据库的。

为了能够连接SQLServer数据库,必须修改php.ini文件的设置(在更改文件前需要去除该文件的只读属性),将“extension=php_mssql.dll”语句前面的分号删除,如图9.18所示,然后,重新启动Apache服务器。

mssql_connect()函数用于连接SQLServer服务器,该函数的语法如下:

resourcemssql_connect([stringservername[,stringusername[,stringpassword]]]);

其中,参数servername表示服务器名称;username表示用户名;password表示密码。

例如,用户连接本机SQLServer服务器的代码如下:

$link=mssql_connect("localhost","sa","");

9.2.2 图书信息查询

PHP操纵SQLserver数据库用到了MySQL函数库中的相关函数,下面对这些函数进行介绍。

1.mssql_connect()函数

该函数用于建立数据库的连接。

语法如下:

resourcemssql_connect(string[servername],string[username],string[password]);

2.mssql_select_db()函数

该函数用于选择数据库文件。

语法如下:

resourcemssql_select_db(stringdatabase_name,int[link_identifier]);

3.mssql_query()函数

该函数用于查询字符串。

语法如下:

resourcemssql_query(stringquery,intplink_identifier));

4.mssql_fetch_array()函数

该函数用于将查询结果result分割到数组变量中。

语法如下:

resourcearraymssql_fetch_array(intresult);

5.mssql_close()函数

该函数用于关闭与数据库的连接。

语法如下:

booleanmssql_close(int[link_identifier]);

信息查询在动态网站开发过程中应用最为广泛。

下面这个范例主要介绍PHP与SQLServer进行数据库的操作。

范例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];

   ?

>

   

     

   编号图书名称发行日期单价内容介绍

   作者出版社

   

php

   $sql=mssql_query("select*fromtab_bookwherebooknamelike'%$_SESSION[txt_book]%'");

   $info=mssql_fetch_array($sql);

   if($info==False){

          echo"对不起,您检索的图书信息不存在!

";

   }

   else{       

   do{

   ?

>

          

          

phpecho$info[id];?

>

           

phpecho$info[bookname];?

>

          

phpecho$info[issueDate];?

>

          

phpecho$info[price];?

>

          

phpecho$info[Synopsis];?

>

          

phpecho$info[Maker];?

>

          

phpecho$info[Pulisher];?

>

          

    

php

     }

   while($info=mssql_fetch_array($sql));

   mssql_close(); //关闭数据库连接

   }

   }

   ?

>

9.2.3 图片分栏显示

在图片信息较多的页面中,将图片进行分栏显示可以使整个页面布局清晰,下面结合具体范例介绍图片分栏的技术。

范例09-11 图片分栏显示

 范例位置:

mr\fl\09\11

 录像位置:

mr\lx\09

在开发信息资源网站时,对资源信息的显示方法有多种,如分页显示、跳转页码显示等,本范例主要介绍分栏显示信息的方法,运行结果如图9.20所示。

图9.20 图片分栏显示

首先建立数据库连接文件,该文件代码如下:

--****************************conn/conn.php***********************************-->

php

   $conn=mssql_connect("localhost","sa","");            //连接数据库服务器

   mssql_select_db("DB_mrbook",$conn);               //选择数据库"DB_mrbook"

>

下面开始具体实现商品的分栏显示:

--*********************************index.php***********************************-->

php

include"conn/conn.php";                       //包含数据库连接文件

>

……

php

$sql=mssql_query("select*fromtb_writerwherewriter_type='平面设计'orderbywriter_dataasc",$conn);       

//从数据库中查询图片信息

>

……

php

   $i=1;                                         //用变量$i控制图片分栏

   while($result=mssql_fetch_array($sql))             //通过循环遍历所有记录

          {

         if($i%5==0)                            //如果$i能被5整除,则显示下一栏图片

             {

           ?

>

         

                 

phpecho"./writer/".$result[writer_img];?

>"width="76"height="110"border="0"> 

            

       

       

php

                    }

                   else                                //否则显示本栏图片

                    {

          ?

>

       

phpecho"./writer/".$result[writer_img];?

>"width="76"height="110"border="0"> 

 

    

php

                  }

            $i++;                             //显示一幅图片后使$i加1

          }

   ?

>

……

9.2.4 留言板

PHP操纵SQLServer,除了可以利用PHP自身的函数外,还可以利用ADO的方法操纵SQLServer数据库,下面将以留言板为例介绍PHP利用ADO的方法操纵SQLserver数据库的实现过程。

范例09-12 留言板

 范例位置:

mr\fl\09\12

 录像位置:

mr\lx\09

在开发网站程序设计时,有很多的网站里都设有留言板模块。

该模块主要用于方便用户在网站内进行留言。

留言板模块包括查看留言、签写留言、管理留言。

运行本范例,用户单击“查看留言”超级链接,浏览留言信息,运行结果如图9.21所示。

图9.21 留言板页面的运行结果

为了减少代码重用率,同样建立conn.php来连接SQLserver数据库,代码如下:

--******************************conn.php**************************************-->

php

$conn=newcom("adodb.connection");            //创建数据库连接对象

$connstr="provider=sqloledb;datasource=localhost;uid=sa;pwd=;database=guestbook";  //设置数据库连接驱动

$conn->open($connstr);                        //调用数据库连接对象的open()方法来执行驱动,从而与数据库建立连接

>

上述代码中的datasource的值为数据库服务器的名称,uid的值为某用户名,pwd的值为用户密码,database的值为某数据库名。

有了conn.php为基础,就可以通过分页来显示所有留言信息了。

代码如下:

--******************************index.php**************************************-->

php

include_once("top.php");                     //包含首部导航栏

>

……

     

php

     include_once("conn.php");                        //包含数据库连接文件

     $rs=newcom("adodb.recordset");                   //建立记录集对象

     $sql="select*fromwordorderbyshijiandesc";       

     $rs->open($sql,$conn,3,1);                        //执行查询

     if($rs->eof||$rs->bof)                            //如果记录集指针的位置在第一行以前或在最后一行以后,此时说明记录集中无内容

      {

     ?

>

     

       暂无留言

     

     

php

      }

      else

      {

        if($_GET[page]==""||is_numeric($_GET[page]==false))

            {

              $page=1;                                  //获取查询字符串的值,为下面翻页所用

            }

            else

            {

              $page=intval($_GET[page]);

            }

            $rs->pagesize=5;                             //设置每页显示5条留言

            $rs->absolutepage=$page;                      //设置当前显示第几页

            $mypagesize=$rs->pagesize;                    //用$mypagesize来控制每页循环显示

            while(!

$rs->eof&&$mypagesize>0)

             {

     ?

>

   ……

   本站共有留言

phpecho$rs->recordcount;?

>条 每页显示

phpecho$rs->pagesize;?

>条 第

phpecho$page;?

>页/共

phpecho$rs->pagecount;?

>页   

   

php

  if($page>=2)                                        //下面代码用于实现翻页显示

   {

>

 

page=1"title="首页">9

 

page=

phpecho$page-1;?

>"title="前一页">7

php

   }

  if($rs->pagecount<=4)

    {

          for($i=1;$i<=$rs->pagecount;$i++)

          {

>

       

page=

phpecho$i;?

>">

phpecho$i;?

>

php

           }

     }

       else

     {

           for($i=1;$i<=4;$i++)

            { 

>

         

page=

phpecho$i;?

>">

phpecho$i;?

>

php

         }

>

       

page=

php

           if($rs->pagecount>=$page+1)

             echo$page+1;

            else

             echo1;

    ?

>"title="后一页">8

          

page=

phpecho$rs->pagecount;?

>"title="尾页">:

 

php

         }

 ?

>

   

 

php

include_once("bottom.php");

通过以上代码,用户可以掌握PHP利用ADO的方式操纵SQLServer数据库的实现方法,该留言板的其他功能及详细代码请参看本书附带光盘。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2