php 查询access数据库操作,PHP+Access数据库操作类

[php]

--------------------------------------------------------------------

//使用范例:

//$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

{

$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;

}

}

?>

[/php]

作者 查分吧,代码phpaccesscx_v1.0。 适合熟悉Access数据库的用户,快速发布查询。 另外Access数据库只能在Windows系统正常运行。 采用ODBC数据源,不依赖php com权限。 注意表名称,字段名称要和实际一致。 数据支持任意列数,列标题自定义,自定义各行内容. 要点:查询条件设置和数据库字段一模一样 即可。 使用用途: 适合修改不频繁、保密性不高的成绩、工资、物业水电费等各种精准查询。 1. 成绩查询系统,每个学校,教育机构,事业单位考试等都可以用到 2. 工资查询系统,每个学校,教育机构,事业单位考试等都可以用到 3. 物业费查询系统,每个企业,学校,所有单位都可能用到 4. 水电费查询系统,小区,物业公司,大学寝室等 5. 其他如分班查询,录取查询,证书查询等修改不多的各种查询系统 特色优势 1. 非常通用:几乎通用于所有二维表,可以满足你的大部分需求。 2. 简单方便:代码小巧简单,可以快速修改以适合多表联查等各种场景 3. 灵活易用:只需修改几个参数即可私人定制查询。 4. 快速使用:发布一次成绩最快两三分钟可解决。 局限性说明 1. 修改越频繁越不适合(成绩、工资、水电费等一般都一次性出来不修改) 2. 只适合二维表(一般数据库都采用二维结构,首行列标题,以后一行一条数据) 3. 不限制单库记录数。建议单库控制在10万条以内 4. 暂不支持公式、图片、网址。可付费定制。 使用建议: 直接通过FTP上传即可使用,建议先直接上传查询测试。 前台访问:http://网址/目录/ (上传直接使用,无需mysql数据库等的支持) 然后notepad++打开inc/conn.php查看参数与网页对应关系。 然后打开默认自带的数据库对比查询结果,查看对应关系。 .mdb 数据库打开方式:Ms Access软件 使用步骤: 参数修改 1.软件notepad++或记事本打开inc/conn.php修改网站标题、查询条件等参数,具体见该文件见里面文字说明。 数据转化 1.用你的方式将你的二维表导入到Access(字段即列标题,一行一条数据)。 源码上传 1.源码的上传:保持原有结构上传到网站即可直接使用,上传请注意编码(utf-8),具体可以看视频教程。 数据上传 1.上传方式:FTP工具上传(推荐);远程桌面上传;在线文件管理工具管理;等。 2.修改数据内容:上传新转的数据替换原来的同名数据。 特别强调(即二维表规则) 1.只支持一行列标题:即多行列标题合并为一行(相当于为每列重新这只列标题) 2.不支持合并单元格:拆分单元格后把各单元格都填充拆分前的内容。 3..mdb数据库可能会被下载请注意处理,比如伪静态规则防止指定格式下载 4..mdb数据库查询可能会受SQL攻击,请自行增加源码过滤信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值