php链接access,PHP连接access数据库的二种方法
php连接access数据库的两种方法,总结如下:(1)第一种方法://读取mdb数据库的值,创建ADO连接$username=1;$conn=new com("ADODB.Connection");$connstr="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=". realpath("web.mdb");//Access数据库地址$conn-&g
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 "".$rs["title"].": ";
exit;
}else{
echo "
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 "
";
}
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);
}
}
更多推荐
所有评论(0)