php操作access数据库的类分享

WBOY
发布: 2016-07-25 08:57:29
原创
965 人浏览过
本文介绍下,php操作access数据库的一个类,有需要的朋友参考下。

代码如下:

<?php
/*
FileName:cls_access.php
Summary: Access数据库操作类

范例:
$databasepath='D:/wwwroot/cef/www/class/testdb.mdb';
//或者$databasepath='testdb.mdb';
$dbusername='';
$dbpassword='';
require_once('cls_access.php');
$access=new Access($databasepath,$dbusername,$dbpassword);
print_r($access->getlist("SELECT TOP 5 * FROM `Result` WHERE `ResultNo` < 12 ORDER BY `ResultNo` DESC"));
echo $access->num_rows("update `conner` set `connerip` = '222.35.142.101' where `connerno` < 83");
*/

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);
    if(!$this->link) echo "数据库连接失败!";
    return $this->link;
}

function query($sql){     //直接运行SQL,可用于更新、删除数据
    return @odbc_exec($this->link,$sql);
}

function fetch_array($query){     //取得当前指针处记录
   return odbc_fetch_array($query);
}

function fetch_row($query){    //基本同fetch_array(),但只有数字索引
   return odbc_fetch_row($query);
}

function num_rows($sql){    //返回SQL查询影响到的行的数目
    return odbc_num_rows($this->query($sql));
}

function close(){    //关闭数据库连接函数
   odbc_close($this->link);
}

function getlist($sql){    //取得记录列表
    $query=$this->query($sql);
    $recordlist=array();
    while ($row=$this->fetch_array($query)){
        $recordlist[]=$row;
    }
    return $recordlist;
}
}
?>
登录后复制

以上类中使用了ODBC,而不是ODBC数据源。 直接新建一个*.mdb文件即可使用。

附,部分常用COM方式操作Access代码:

<?php
$db = $_SERVER['DOCUMENT_ROOT'].'/zhuanti/ugdkfjlsg54356k6546jk654gfslkg6544s.mdb';
$conn = new COM('ADODB.Connection') or die('can not start Active X Data Objects');
$conn->Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=$db");
?>
登录后复制

JS调用页js.php

<?php
include_once('conn.php');
$rs = $conn->Execute("SELECT TOP 3 * FROM userstar where chk = 1 ORDER BY id DESC");
$idgb=1;
while(!$rs->EOF){
    $gbinf[$idgb]['id'] = $rs->Fields['id']->Value;
    $gbinf[$idgb]['usname'] = $rs->Fields['usname']->Value;
    $gbinf[$idgb]['usage'] = $rs->Fields['usage']->Value;
    $gbinf[$idgb]['usprovince'] = $rs->Fields['usprovince']->Value;
    $gbinf[$idgb]['usfile'] = $rs->Fields['usfile']->Value;
    $gbinf[$idgb]['thumb'] = $rs->Fields['thumb']->Value;
    $gbinf[$idgb]['usmessage'] = $rs->Fields['usmessage']->Value;
    $rs->MoveNext();
    $idgb++;
}
$rs->Close();
$rs = null;
$uhtml='';
$uhtml.='<table border="0" align="center"><tr>';

for ($i=1; $i<4; $i++){
    $uhtml.='<td width="240" align="center">';
    if ($gbinf[$i]['usfile']){
        $uhtml.='<img  src="/'.$gbinf[$i]['thumb'].'" / alt="php操作access数据库的类分享 " ><br 
 />'.$gbinf[$i]['usprovince'].' '.$gbinf[$i]['usname'];
        if ($gbinf[$i]['usage'] != 0){
            $uhtml.=' ('.$gbinf[$i]['usage'].'岁)<br />';
        }
       $uhtml.='<div style="width:180px; height:40px; overflow:hidden; text-align:left">'.$gbinf[$i]['usmessage'].'</div>';
    }
    $uhtml.='</td>';
}
$uhtml.='</tr></table>';
echo "document.write('".$uhtml."')";
?>
登录后复制

另一个例子,以本文件路径确定数据库路径:

<?php
/*
数据库连接配置
*/
$db = getcwd().'\images\90d\90dicr_os6546oftff_ic543e_cces_4535s.mdb';
$conn = new COM('ADODB.Connection') or die('can not start Active X Data Objects');
$conn->Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=$db");

//print_r($_POST);
if ($_POST['name'] && $_POST['tel'] && $_POST['addr'] && $_POST['email'] && $_POST['goal'] && $_POST['high'] &&
 $_POST['weight'] && $_POST['message'])
{
$addsql = "INSERT INTO d90usr (`name`, `tel`, `addr`, `email`, `goal`, `high`, `weight`, `message`) VALUES ('".$_POST['name']."', 
'".$_POST['tel']."', 
'".$_POST['addr']."', '".$_POST['email']."', '".$_POST['goal']."', '".$_POST['high']."', '".$_POST['weight']."', 
'".strip_tags($_POST['message'])."')";
//echo '<hr />'.$addsql;
$rsadd = $conn->Execute($addsql);
echo '';
echo '<p align="center"><h1>恭喜您报名成功,请等待工作人员与您联系!</h1></p>';
echo '<p align="center">返回活动首页  返回商城首页</p>';
}
?>
登录后复制


来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板