一个PHP操作Access类(PHP+ODBC+Access)

2018-09-07 11:52

阅读:457

  复制代码 代码如下:

<?php
--------------------------------------------------------------------
//FileName:class.php
//Summary:Access数据库操作类
//Author:forest
//CreateTime:2006-8-10
//LastModifed:
//使用范例:
//$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;
}
}
?>




评论


亲,登录后才可以留言!