zoukankan      html  css  js  c++  java
  • php odbc 数据库操作类

    <?php
    //--------------------------------------------------------------------
    //FileName:class.php
    //Summary: Access数据库操作类
    //CreateTime: 2006-8-10     
    //LastModifed:
    //copyright (c)2006 freeweb.nyist.net/~chairy  [email]chaizuxue@163.com[/email]
    //   使用范例:
    //$databasepath="database.mdb";
    //$dbusername="";
    //$dbpassword="";
    //include_once("class.php");
    //$access=new Access($databasepath,$dbusername,$dbpassword);

    //--------------------------------------------------------------------
        
    class Access
        
    {
             var 
    $databasepath,$constr,$dbusername,$dbpassword,$link;
             function 
    Access($databasepath,$dbusername,$dbpassword)
             {
                   
    $this->databasepath=$databasepath;
            
    $this->username=$dbusername;
            
    $this->password=$dbpassword;
            
    $this->connect();
              }
            
        function 
    connect()
        {
            
    $this->constr="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" realpath($this->databasepath); 
            
    $this->link=odbc_connect($this->constr,$this->username,$this->password,SQL_CUR_USE_ODBC);
            return 
    $this->link;
            if(
    $this->link) echo "恭喜你,数据库连接成功!";
            else echo 
    "数据库连接失败!";
        }
            
        function 
    query($sql)
        {
            return @
    odbc_exec($this->link,$sql);
        }
            
        function 
    first_array($sql)
        {
            return 
    odbc_fetch_array($this->query($sql));
        }
            
        function 
    fetch_row($query)
        {
            return 
    odbc_fetch_row($query);
        }
            
        function 
    total_num($sql)//取得记录总数
        
    {
            return 
    odbc_num_rows($this->query($sql));
        }
            
        function 
    close()//关闭数据库连接函数
        
    {    
            
    odbc_close($this->link);
        }
                
        function 
    insert($table,$field)//插入记录函数
        
    {
            
    $temp=explode(',',$field);
            
    $ins='';
            for (
    $i=0;$i<count($temp);$i++)
            {
                
    $ins.="'".$_POST[$temp[$i]]."',";
            }
            
    $ins=substr($ins,0,-1);
            
    $sql="INSERT INTO ".$table." (".$field.") VALUES (".$ins.")";
            
    $this->query($sql);
        }
            
        function 
    getinfo($table,$field,$id,$colnum)//取得当条记录详细信息
        
    {
            
    $sql="SELECT * FROM ".$table." WHERE ".$field."=".$id."";
            
    $query=$this->query($sql);
            if(
    $this->fetch_row($query))
            {
                for (
    $i=1;$i<$colnum;$i++)
                {
              
    $info[$i]=odbc_result($query,$i);
                 }
             }
             return 
    $info;
        }
            
        function 
    getlist($table,$field,$colnum,$condition,$sort="ORDER BY id DESC")//取得记录列表    
        
    {
             
    $sql="SELECT * FROM ".$table." ".$condition." ".$sort;
             
    $query=$this->query($sql);
             
    $i=0;
             while (
    $this->fetch_row($query)) 
             {
            
    $recordlist[$i]=getinfo($table,$field,odbc_result($query,1),$colnum);
            
    $i++;
              }
              return 
    $recordlist;
        }
            
        function 
    getfieldlist($table,$field,$fieldnum,$condition="",$sort="")//取得记录列表
        
    {
             
    $sql="SELECT ".$field." FROM ".$table." ".$condition." ".$sort;
             
    $query=$this->query($sql);
             
    $i=0;
             while (
    $this->fetch_row($query)) 
             {
             for (
    $j=0;$j<$fieldnum;$j++)
            {
                       
    $info[$j]=@odbc_result($query,$j+1);
            }    
            
    $rdlist[$i]=$info;
            
    $i++;
             }
             return 
    $rdlist;
        }
            
        function 
    updateinfo($table,$field,$id,$set)//更新记录
        
    {
            
    $sql="UPDATE ".$table." SET ".$set." WHERE ".$field."=".$id;
            
    $this->query($sql);
        }
            
        function 
    deleteinfo($table,$field,$id)//删除记录
        
    {
             
    $sql="DELETE FROM ".$table." WHERE ".$field."=".$id;
             
    $this->query($sql);
        }
            
        function 
    deleterecord($table,$condition)//删除指定条件的记录
        
    {
             
    $sql="DELETE FROM ".$table." WHERE ".$condition;
             
    $this->query($sql);
        }
            
        function 
    getcondrecord($table,$condition="")// 取得指定条件的记录数
        
    {
             
    $sql="SELECT COUNT(*) AS num FROM ".$table." ".$condition;
             
    $query=$this->query($sql);
             
    $this->fetch_row($query);
             
    $num=odbc_result($query,1);
             return 
    $num;            
        }
         }
    ?>
    转自:
    http://www.phpx.com/happy/thread-146866-1-1.html
  • 相关阅读:
    .net中实现运行时从字符串动态创建对象
    C# 用 VB.net 函數庫 實現全角與半角轉換
    實現.net 加載插件方式
    VS2008下載
    Lotus Notes Send EMail from VB or VBA
    用C#写vs插件中的一些Tip
    SQL2005中异常处理消息框可直接使用
    C#路径/文件/目录/I/O常见操作汇总
    利用.net反射动态调用指定程序集的中的方法
    说说今年的计划
  • 原文地址:https://www.cnblogs.com/fengju/p/6173941.html
Copyright © 2011-2022 走看看