php使用adodb类库操作数据库-类的封装


adodb5下载地址

下载好的adodb文件夹放在程序根目录下。

conn下的found.database.php文件

<?php

//数据库连接类
class ConnDB{
    
    var $dbtype;    //数据库连接类型
    var $host;        //数据库服务器
    var $user;        //服务器用户名
    var $pwd;        //服务器密码
    var $dbname;    //数据库名称
    var $debug;        //返回错误信息
    var $conn;        //返回的连接标识
    var $coded;        //数据库的编码格式
    
    //构造函数,为成员变量赋值
    function __construct($dbtype, $host, $user, $pwd, $dbname, $debug = false){
    
        $this->dbtype = $dbtype;
        $this->host = $host;
        $this->user = $user;
        $this->pwd = $pwd;
        $this->dbname = $dbname;
        $this->debug = $debug;
        $this->coded = "set names utf";
    }
    
    //实现与不同数据库的连接并返回连接对象
    function GetConnId(){
        
        //调用ADODB类库文件
        require("adodb5/ADOdb.inc.php");
        
        //判断成员变量传递的数据库类型
        if($this->dbtype == "mysql" || $this->dbtype == "mssql"){

            //判断如果是MySQL数据库
            if($this->dbtype == "mysql")

                //执行与MySQl数据库的连接
                $this->conn = NewADOConnection("mysql");

            else

                $this->conn = NewADOConnection("mssql");
                //数据库连接的用户、密码
                $this->conn->Connect($this->host,$this->user,$this->pwd,$this->dbname);

        }elseif($this->dbtype == "access"){

            //判断如果使用的是Access数据库
            $this->conn = NewADOConnection("access");
            //执行连接Access数据库
            $this->conn->Connect("Driver={Microsoft Access Driver (*.mdb)};Dbq=".$this->dbname.";Uid=".$this->user.";Pwd=".$this->pwd.";");
        
        }
        
        //设置数据库的编码格式
        $this->conn->Execute($this->coded);
        
        if($this->dbtype == "mysql")
        
            $this->conn->debug = $this->debug;
            
        //返回连接对象
        return $this->conn;          
    }
    
    //定义关闭数据库的方法
    function CloseConnId(){
      
        //执行关闭的操作
        $this->conn->Disconnect();

    }

}

//数据库管理类
class AdminDB{
    
    //定义方法,参数为SQl语句和连接数据库返回的对象
    function ExecSQL($sqlstr, $conn){
        
        //截取SQL中的前6个字符串,并转换成小写
        $sqltype = strtolower(substr(trim($sqlstr),0,6));
        
        //执行SQL语句
        $rs = $conn->Execute($sqlstr);
        
        //判断如果SQL语句的类型为SELECT
        if($sqltype == "select"){
            
            //执行该语句,获取查询结果
            $array = $rs->GetRows();
            
            //判断语句是否执行成功
            if(count($array)==0 || $rs==false)
                
                //如果查询结果为0,或者执行失败,则返回false
                return false;
            else
                
                //否则返回查询结果的数组
                return $array;
        }elseif ($sqltype=="update" || $sqltype=="insert" || $sqltype=="delete"){
           
            //判断如果SQL语句类型不为select、则执行如下操作  
            if($rs)
                //执行成功返回true
                return true;
            else
                //否则返回false
                return false;
        }
        
    }
    
}

?>

conn下的connect.database.php文件:

<?php

//包含类文件
require("found.database.php");

//实例化数据库连接类
$connobj = new ConnDB("mysql", "localhost", "root", "48102249", "nodedb", true);

//返回连接标识
$conn = $connobj->GetConnId();

$admindb = new AdminDB();

if(!$conn->_errorMsg){
	echo "数据库连接成功";
}else{
	echo "数据库连接失败";
}

?>

根目录下的index.php文件:

<meta http-equiv='Content-Type'' content='text/html; charset=utf-8'>
<?php

//包含数据库连接和操作类的实例化文件
include_once 'conn/connect.database.php';

//$admindb->ExecSQL("insert into news (title,dates,contents) value('测试','".date('Y-m-d')."','测试测试测试测试测试测试')", $conn);
$array = $admindb->ExecSQL("select * from news where id limit 3", $conn);

for($i=0;$i<count($array);$i++){             //循环输出数据库中数据
 echo $array[$i][id].'——'.$array[$i][title].'——'.$array[$i][contents]."<br />";
 //var_dump($array[$i]['id']);
}

?>



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值