• 党务问答:党组与党委有何区别? 2018-02-21
  • 杨浦区贯彻实施长护险 春节加班满足老人护理需求 2018-02-21
  •  “不打烊”不等于“全配送” 快递如何保障春节网购 2018-02-21
  • 冬奥观察:奥林匹克在“云”间 2018-02-20
  •  “不打烊”不等于“全配送” 快递如何保障春节网购 2018-02-20
  • 开创生态文明新时代 绘出美丽中国新图景 2018-02-20
  • 人民网驻阿尔及利亚记者报道集 2018-02-19
  • 党务问答:党组与党委有何区别? 2018-02-19
  • MINI车联网服务3月起升级至4G网络 增加新功能 2018-02-18
  • 以色列警方:已有足够的证据可以用于起诉以总理 2018-02-18
  • 冬奥会短节目第四 金博洋:伤病令我更强大 2018-02-18
  • 天津市北辰区委书记冯卫华:强化政治担当 把主体责任落实落细 2018-02-17
  • 正月初一客流继续回落 全国铁路预计发送旅客389万人次 2018-02-17
  • 送别余光中:诗人虽远行,乡愁永流传 2018-02-17
  • 集团原董事长违纪被查 人员伤亡事故频发 湖北宜化:去年亏损额超过公司市值 2018-02-17
  • PHP连接access数据库的二种方法

    栏目: 编程语言 发布于: 2014-05-02 13:00:02

    php连接access数据库的两种方法,总结如下:

    (1)第一种方法:

    //读取mdb数据库的值,创建ADO连接
    $username=1;
    $conn=new com("ADODB.Connection");
    $connstr="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=". realpath("web.mdb");//Access数据库地址
    $conn->Open($connstr);
    //创建记录集
    $rs=new com("ADODB.RecordSet");
    $assql="select * from sail_about where id=".$username."";
    $rs->Open($assql,$conn,1,1);//打开数据库
    if(! $rs->eof){
    	echo "<br><b>".$rs["title"].":</b> ";
    	exit;
    }else{
    	echo "<br>ACCESS查询成功";
    }
    //循环读取数据
    while(!$rs->eof){ 
    	echo $rs->fields['G_date']->Value; 
    	echo ''; 
    	$rs->movenext();//将记录集指针下移
    }
    $rs->close();//关闭数据库

    (2)第二种方法:

    //用odbc_connect函数连接access数据库
    $connstr="DRIVER=Microsoft Access Driver (*.mdb);DBQ=".realpath("web.mdb");
    $conn=odbc_connect($connstr,"","",SQL_CUR_USE_ODBC );
    $query=odbc_do($conn,"select * from sail_about");
    while(odbc_fetch_row($query)){
    	for($i=0;$i<2;$i++){   //$i<2 2值是sail_about 表里的值数
    		echo $record[$i] = odbc_result($query,$i+1);
    	}
    	echo "<br>";
    }

    PHP连接Access数据库的类

    /**
    *2007.04byzhaohe
    *
    *php连接access通用类
    *
    *用法:
    *建立newAccess类=>set_db设置数据路径=>set_login设置连接数据库的用户名和密码
    *=>通过set_conn设置连接=>
    *{
    get_result获取查询执行结果;get_result_rows获取查询执行列表,一般是select
    insert_info插入新的记录update_info更新记录
    }
    */
    
    class Access{
    	/**
    	*类变量定义
    	*@param$connmysql连接号
    	*@param$error错误代号
    	*@param$username/$password数据库连接用户名和密码
    	*@paramarray$err_info错误信息
    	*
    	*@param$debuginfo调试信息
    	*@param$table当前操作数据表
    	*/
    	var$conn;
    	var$error;
    	var$database;
    	var$username="";
    	var$password="";
    	var$err_info=array(
    	0=>"没有错误!",
    	1=>"数据库连接失败!",
    	2=>"sql执行出错!"
    	);
    	var$debuginfo="";
    	var$table;
    	
    	/**
    	*默认构造方法
    	**/
    	function Access($arr=null){
    		if(is_array($arr)){
    			$this->set_login($arr['host'],$arr['username'],$arr['password']);
    			$this->set_db($arr['database']);
    			$this->set_conn();
    		}
    	}
    	
    	/**
    	*设置数据库文件名
    	*@paramstring$dbfile
    	*
    	*return void
    	*/
    	function set_db($dbfile){
    		$this->database=$dbfile;
    	}
    	
    	/**
    	*设置连接数据库的用户名和密码
    	*@paramstring$user用户名
    	*@paramstring$pwd密码
    	*
    	*@return void
    	*/
    	function set_login($user,$pwd){
    		$this->username=$user;
    		$this->password=$pwd;
    	}
    	
    	/**
    	*创建数据库连接
    	*@param
    	*return void
    	*/
    	function set_conn(){
    		if($this->conn=odbc_connect("DRIVER=MicrosoftAccessDriver(*.mdb);DBQ=".realpath($this->database),$this->username,$this->password,SQL_CUR_USE_ODBC)){
    			$this->error=0;
    		}else{
    			$this->error=1;
    		}
    	}
    	
    	/**
    	*设置当前操作的数据表
    	*@paramstring$tb
    	*
    	*@return void
    	*/
    	function set_table($tb){
    		$this->table=$tb;
    	}
    	
    	/**
    	*返回sql查询结果
    	*@paramstring$sqlsql语句
    	*
    	*@return #id
    	*/
    	function get_result($sql){
    		return odbc_do($this->conn,$sql);
    	}
    	
    	/**
    	*获取查询的结果
    	*@paramstring$sql
    	*
    	*@return array结果的二维数组
    	*/
    	function get_result_rows($sql){
    		$array=array();
    		$result=$this->get_result($sql);
    		while($row=odbc_fetch_array($result)){
    			$array[]=$row;
    		}
    		return $array;
    	}
    	/**
    	*获取部分查询结果
    	*
    	*@paramArray数组
    	*@return Array
    	*/
    	function get_query_result($cols,$tb=null,$order=null,$limit=null,$start=0){
    		if(empty($tb)){
    			$tb=$this->table;
    		}else{
    			$this->table=$tb;
    		}
    		
    		if(is_array($cols)){
    			$col="[".implode('],[',$cols)."]";
    		}else{
    			$col=$cols;
    		}
    		
    		if(empty($limit)){
    			$sql="select$colfrom$tb";
    		}else{
    			$sql="selecttop$limit$colfrom$tb";
    		}
    		if(isset($order)){
    			$sql.="orderby$order";
    		}
    		return $this->get_result_rows($sql);
    	}
    	
    	/**
    	*执行数据库插入操作
    	*
    	*@param$arrvalues列表,数组索引为数据表字段
    	*@param$tb操作数据表如果为空则为设置的当前类的操作表
    	*/
    	function insert_info($arr,$tb=""){
    		$cols=array_keys($arr);
    		$values=array_values($arr);
    		if(empty($tb)){
    			$tb=$this->tb;
    		}
    		$sql="insertinto[$tb]([".implode("],[",$cols)."])values('".implode("','",$values)."')";
    		return $this->get_result($sql);
    	}
    	
    	/**
    	*执行数据库更新操作
    	*
    	*@paramarray$arr要更新的字段值数组索引为表字段名
    	*@paramarray$con条件数组
    	*@paramstring$tb要操作的数据表
    	*
    	*/
    	function update_info($arr,$con,$tb=""){
    		$cols=array();
    		$conditions=array();
    		if(empty($tb)){
    			$tb=$this->tb;
    		}
    		foreach($arr as $key=>$value){
    			$cols[]="[$key]='$value'";
    		}
    		foreach($con as $key=>$value){
    			//检查数据类型
    			if(is_int($value)||is_float($value)){
    				$conditions[]="[$key]=$value";
    			}else{
    				$conditions[]="[$key]='$value'";
    			}
    		}
    		$sql="update[$tb]set".implode(",",$cols)."where".implode("and",$conditions);
    		return $this->get_result($sql);
    	}
    }

    php连接access数据库详细说明

    您可能感兴趣的文章

    • Navicat for mysql 远程连接 mySql数据库提示10061,1045错误的解决办法
    • PHP连接、操纵Memcached的原理和教程
    • 在php中分别使用curl的post提交数据的方法和get获取网页数据的方法总结
    • JavaScript 如何处理 php 返回json格式的数据
    • php mysql数据库操作类
    • PHP 生成连续的数字(字母)数组函数range()分析,PHP抽奖程序函数
    • php获取某地pm2.5数据接口开发(pm2.5 php api)
    • 如何定位,排除和避免MySQL数据库性能问题
    本站文章除注明转载外,均为本站原创或编译?;队魏涡问降淖?,但请务必注明出处。
    转载请注明:文章转载自 七星彩票平台
    本文标题:PHP连接access数据库的二种方法
    IT技术书籍推荐:
    算法导论(原书第3版)
    算法导论(原书第3版)
    Thomas H.Cormen (作者), Charles E.Leiserson (作者), Ronald L.Rivest (作者), Clifford Stein (作者), 殷建平 (译者), 徐云 (译者), 王刚 (译者), 等 (译者)
    《算法导论(原书第3版)》内容简介:在有关算法的书中,有一些叙述非常严谨,但不够全面;另一些涉及了大量的题材,但又缺乏严谨性?!端惴ǖ悸?原书第3版)》将严谨性和全面性融为一体,深入讨论各类算法,并着力使这些算法的设计和分析能为各个层次的读者接受。全书各章自成体系,可以作为独立的学习单元;算法以英语和伪代码的形式描述,具备初步程序设计经验的人就能看懂;说明和解释力求浅显易懂,不失深度和数学严谨性。全书选材经典、内容丰富、结构合理、逻辑清晰,对本科生的数据结构课程和研究生的算法课程都是非常实用的教材,在IT专业人员的职业生涯中,《算法导论(原书第3版)》也是一本案头必备的参考书或工程实践手册。