您现在的位置: 捷凌网安 >> 服务器 >> WEB开 发 >> HTML >> 正文
PHP操作Access类(PHP+ODBC+Access)

作者:佚名 责任编辑:左决 点击数: 更新时间:2008-2-20 1:36:54

  最近接了一个网站使用的是PHP+Access,汗,以前从来没有用php+Access做过,参考别人写的access函数,自己加入了一些其他的功能,封装为一个类,感觉调用蛮方便的,虽然没有测试过,但是感觉PHP+Access的速度没有PHP+MySQL速度快。

<?php
--------------------------------------------------------------------
//FileName:class.php
//Summary:Access
数据库操作类
//Author: forest
//CreateTime:2006-8-10  
//LastModifed:
//copyright(c)2006freeweb.nyist.net/~chairy [email]chaizuxue@163.com[/email]
// 使用范例:
//$databasepath="database.mdb";
//$dbusername="";
//$dbpassword="";
//include_once("class.php");
//$access=newAccess($databasepath,$dbusername,$dbpassword);
--------------------------------------------------------------------
  classAccess
  {
    var$databasepath,$constr,$dbusername,$dbpassword,$link;
    functionAccess($databasepath,$dbusername,$dbpassword)
    {
       $this->databasepath=$databasepath;
    $this->username=$dbusername;
    $this->password=$dbpassword;
    $this->connect();
     }
    
  functionconnect()
  {
    $this->constr="DRIVER={MicrosoftAccessDriver(*.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"恭喜你,
数据库连接成功!";
    //elseecho"
数据库连接失败!";
  }
    
  functionquery($sql)
  {
    return@odbc_exec($this->link,$sql);
  }
    
  functionfirst_array($sql)
  {
    returnodbc_fetch_array($this->query($sql));
  }
    
  functionfetch_row($query)
  {
    returnodbc_fetch_row($query);
  }
    
  functiontotal_num($sql)//取得记录总数
  {
    returnodbc_num_rows($this->query($sql));
  }
    
  functionclose()//关闭
数据库连接函数
  {  
    odbc_close($this->link);
  }
      
  functioninsert($table,$field)//插入记录函数
  {
    $temp=explode(',',$field);
    $ins='';
    for($i=0;$i<count($temp);$i++)
    {
      $ins.="'".$_POST[$temp[$i]]."',";
    }
    $ins=substr($ins,0,-1);
    $sql="INSERTINTO".$table."(".$field.")VALUES(".$ins.")";
    $this->query($sql);
  }
    
  functiongetinfo($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;
  }
    
  functiongetlist($table,$field,$colnum,$condITion,$sort="ORDERBYidDESC")//取得记录列表  
  {
    $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;
  }
    
  functiongetfieldlist($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;
  }
    
  functionupdateinfo($table,$field,$id,$set)//更新记录
  {
    $sql="UPDATE".$table."SET".$set."WHERE".$field."=".$id;
    $this->query($sql);
  }
    
  functiondeleteinfo($table,$field,$id)//删除记录
  {
    $sql="DELETEFROM".$table."WHERE".$field."=".$id;
    $this->query($sql);
  }
    
  functiondeleterecord($table,$condITion)//删除指定条件的记录
  {
    $sql="DELETEFROM".$table."WHERE".$condITion;
    $this->query($sql);
  }
    
  functiongetcondrecord($table,$condITion="")//取得指定条件的记录数
  {
    $sql="SELECTCOUNT(*)ASnumFROM".$table."".$condITion;
    $query=$this->query($sql);
    $this->fetch_row($query);
    $num=odbc_result($query,1);
    return$num;      
  }
  }
?>
  • 上一篇文章:

  • 下一篇文章:
  •  
    最进更新
    普通文章foxpro 更新源表05-05
    普通文章foxpro 让视图与数据源相连05-05
    普通文章foxpro 机动查询和数据输入05-05
    普通文章foxpro 多个本地数据05-05
    普通文章foxpro 维护源表05-05
    普通文章Oracle 10g Release2新功能之05-05
    普通文章将Oracle 10g内置的安全特性05-05
    普通文章ACCESS 2003 建立数据库视频05-05
    普通文章三种SQL分页法效率分析05-05
    普通文章优化MySQL数据库查询的三种方05-05
     
    推荐文章
    推荐文章教你怎样在MySQL中提高全文搜05-05
    推荐文章SQL Server中数据导入导出三05-05
    推荐文章缓冲技术提高JSP程序的性能和04-17
    推荐文章asp去除HTML标记的三个实用函04-17
    推荐文章何时使用DataGrid、DataList04-17
    推荐文章MySQL存储过程示例04-14
    推荐文章华硕搭建Exchange2007企业邮03-14
    推荐文章升级Win 2003到Windows 200803-14
    推荐文章windows Server 2003 搭建域03-14
    推荐文章服务器成为IT中心的6个理由03-11
     
    热点文章 
    普通文章SQL Server 2008分析服务概览05-01
    普通文章Dlink路由器VPN设置04-29
    推荐文章缓冲技术提高JSP程序的性能和04-17
    普通文章教你优化你的ASP程序04-17
    推荐文章asp去除HTML标记的三个实用函04-17
    普通文章ASP添加验证码的解决方法04-17
    推荐文章何时使用DataGrid、DataList04-17
    普通文章Asp.net中禁止用户多次登录04-17
    普通文章MySQL之表结构修改04-14
    推荐文章MySQL存储过程示例04-14

    | 设为首页 | 加入收藏 | 联系站长 | 广告服务 | 友情链接 | 版权申明 | 网站地图 |

    在线交流 捷凌网安主群:51649627
    Copyright 2007-2008 © 捷凌网安. All rights reserved.
    备案序号:蜀ICP备08001812号