设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1812|回复: 0
打印 上一主题 下一主题

php程序来连接SQL Server数据库的通用类

[复制链接]
跳转到指定楼层
1#
发表于 2005-6-4 18:59:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
php程序来连接SQL Server数据库的通用类

     

     注意:php空间需要支持mssql模块

     很多朋友问我如何用php程序来连接SQL Server数据库的通用类,其实这个并不是很难的,关键是一点点仔细,一点点耐心,用激情去理解

     

    抽象,要是你激情耗尽了它还是什么都不像的话,那就麻烦了。以下是我的一点经验,而且有兴趣搞智能建站的朋友可以去这个网站看看( http://www.now.net.cn)这家公司很不错的,在珠海,叫时代互联。有些朋友可能已经知道。它一直是业内的领先者,技术力量很雄厚,主要业务是智能建站、域名申请、企业邮箱、主机租售等等。有兴趣的朋友可以登陆( http://www.now.net.cn )拨打全球免费服务电话咨询。言归正传

    <?

    class DB {

     var $Host = "192.168.0.199"; // Hostname of our MySQL server

     var $Database = "test"; // Logical database name on that server

     var $User = "user"; // Database user

     var $Password = "password"; // Database user's password

     

     var $Link_ID = 0; // Result of mssql_connect()

     var $Query_ID = 0; // Result of most recent mssql_query()

     var $Row = 0; // Current row number

     var $Errno = 0; // Error state of query

     var $Error = "";

     

    var $AffNum=0;

     

    /**************************************

     *打印错误方法:显示页面处理的错误信息。

    ****************************************/

    function Halt($msg) {

     printf("</td></tr></table><b>Database error:</b> %s<br>\n", $msg);

     printf("<b>mssql Error</b>: %s (%s)<br>\n",

     $this->Errno,

     $this->Error);

     die("Session halted.");

     }

     

    /**************************************

     *连接数据库,并且选择默认的数据库

     **************************************/

    function Connect() {

     if ( 0 == $this->Link_ID ) {

    $this->Link_ID=mssql_connect($this->Host,$this->User,$this->assword) or die("Couldn't connect to SQL Server on

     

    $servername");

    [url=mailtodb=@mssql_select_db($this- target=]Database,$this->Link_ID">$db=@mssql_select_db($this->Database,$this->Link_ID[/url]);

     if (!$this->Link_ID) {

     $this->Halt("Link-ID == false, mssql_connect failed");

     }

     }

     }

     

    /****************************************

     *关闭数据库,如果数据库连接已经打开则关闭它

     *请在调用Connect()并处理后使用Close()

     ****************************************/

    function Close() {

    if (0 != $this->Link_ID){

    mssql_close();

    }

    }

     

    /*************************************************

     *输入sql语句,有select,update,insert,delete

     *包括存储过程也可以通过这个方法来调用。

     *************************************************/

    function Query($Query_String) {

     $this->Connect();

     

     $this->Query_ID = mssql_query($Query_String);

     $this->Row = 0;

     if (!$this->Query_ID) {

    $msg=mssql_get_last_message();

     

    if($msg==null || $msg=="")

    {

    $this->AffNum=1;

    return 1;

    }

     

    if(strtolower(substr($Query_String,0,6))!="select"){

    $this->AffNum=1;

    return 1;

    }

     

     $this->Errno = 1;

     $this->Error = "General Error (The mssql interface cannot return detailed error messages)(".$msg.").";

     $this->halt("Invalid SQL: ".$Query_String);

     }

     return $this->Query_ID;

     }

     

    /*******************************************************

     *把查询数据库的指针移到下一条记录

     *******************************************************/

    function NextRecord() {

     $this->Record = array();

    mssql_next_result($this->Query_ID);

    $this->Record=mssql_fetch_array($this->Query_ID);

     

    $result=$this->Record;

    if(!is_array($result)) return $this->Record;

    foreach($result as $key => $value){

    $keylower=strtolower($key);

    if($keylower!=
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2025-1-10 01:00 , Processed in 0.097319 second(s), 24 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表