通过PHP操作SQL Server数据库.docx
《通过PHP操作SQL Server数据库.docx》由会员分享,可在线阅读,更多相关《通过PHP操作SQL Server数据库.docx(12页珍藏版)》请在冰豆网上搜索。
通过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">