當前位置:編程學習大全網 - 源碼下載 - 急求壹個php連接Access數據庫並實現簡單增刪查改語句的代碼塊

急求壹個php連接Access數據庫並實現簡單增刪查改語句的代碼塊

給妳兩個我自己寫的數據庫的操作的class吧

這個是為了 同時可以使用access和mysql而做的 先弄壹個mysql的 然後又寫壹個access的 所有的函數壹壹對應 妳可以看下 絕對原創喔~~

配置文件如下

$config['db']['type'] = "Mysql"; //數據庫類型“Mysql”,“Access”

$config['db']['database']= "ourcms"; //數據庫(文件)名

$config['db']['host'] = ""; //數據庫主機

$config['db']['username']= "7king"; //數據庫連接用戶名

$config['db']['password']= "tingting"; //數據庫連接密碼

/*

$config['db']['type'] = "Access"; //數據庫類型“Mysql”,“Access”

$config['db']['database']= "ourcms.mdb";//數據庫(文件)名

$config['db']['host'] = "";

$config['db']['username']= "";

$config['db']['password']= "";

<?php

/**

* 2007.04 by zhaohe

*

* php連接access通用類

*

* 用法:

* 建立new Access類 => set_db設置數據路徑 => set_login 設置連接數據庫的用戶名和密碼

* => 通過set_conn 設置連接 =>

* {

get_result 獲取查詢執行結果; get_result_rows 獲取查詢執行列表,壹般是select

insert_info 插入新的記錄 update_info更新記錄

}

*

*

*/

class Access {

/**

* 類變量定義

* @param $conn mysql連接號

* @param $error 錯誤代號

* @param $username/$password 數據庫連接用戶名和密碼

* @param array $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();

}

}

/**

* 設置數據庫文件名

* @param string $dbfile

*

* return void

*/

function set_db ( $dbfile ){

$this->database = $dbfile;

}

/**

* 設置連接數據庫的用戶名和密碼

* @param string $user 用戶名

* @param string $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=Microsoft Access Driver (*.mdb);DBQ=".realpath($this->database),$this->username,$this->password,SQL_CUR_USE_ODBC )) $this->error=0;

else $this->error=1;

}

/**

* 設置當前操作的數據表

* @param string $tb

*

* @return void

*/

function set_table( $tb ) {

$this->table = $tb;

}

/**

* 返回sql查詢結果

* @param string $sql sql語句

*

* @return #id

*/

function get_result( $sql ){

return odbc_do( $this->conn , $sql );

}

/**

* 獲取查詢的結果

* @param string $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;

}

/**

* 獲取部分查詢結果

*

* @param Array 數組

* @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 $col from $tb";

else

$sql ="select top $limit $col from $tb";;

if( isset($order) ) $sql.=" order by $order";

return $this->get_result_rows($sql);

}

/**

* 執行數據庫插入操作

*

* @param $arr values列表,數組索引為數據表字段

* @param $tb 操作數據表 如果為空則為設置的當前類的操作表

*/

function insert_info( $arr , $tb = "" ) {

$cols = array_keys( $arr );

$values = array_values( $arr );

if (empty($tb)) $tb = $this->tb;

/*

foreach( $arr as $key => $value ){

$cols[] = $key;

$values[] = $value;

}

*/

$sql = "insert into [$tb]([".implode("],[",$cols)."]) values('".implode("','",$values)."')";

//return $sql;

return $this->get_result( $sql );

}

/**

* 執行數據庫更新操作

*

* @param array $arr 要更新的字段值 數組索引為表字段名

* @param array $con 條件數組

* @param string $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 $sql;

return $this->get_result( $sql );

}

}

>

mysql的類如下

class Mysql {

/**

* mysql連接執行類,將sql的執行實現數據庫無關性

*

*

*

*/

/**

* 類變量定義

* @param $conn mysql連接號

* @param $error 錯誤代號

* @param $username/$password 數據庫連接用戶名和密碼

* @param array $err_info 錯誤信息

*

* @param $debuginfo 調試信息

* @param $table 當前操作數據表

*/

var $conn;

var $error;

var $username = "";

var $password = "";

var $host;

var $database;

var $err_info = array(

0 => "沒有錯誤!",

1 => "數據庫連接失敗!",

2 => "sql執行出錯!"

);

var $debuginfo="";

var $table;

function Mysql( $arr=null ) {

if( is_array($arr) ) {//var_dump($arr);

$this->set_login( $arr['host'] , $arr['username'] , $arr['password'] );

$this->set_db( $arr['database'] );

$this->set_conn();

if( isset($this->error) && $this->error!=0 ) die($this->err_info[$this->error]);

}

}

/**

* 設置數據庫名

* @param string $database

*

* return void

*/

function set_db ( $dbfile ){

$this->database = $dbfile;

}

/**

* 設置連接數據庫的用戶名和密碼

* @param string $user 用戶名

* @param string $pwd 密碼

*

* @return void

*/

function set_login ( $host , $user , $pwd ){

$this->host=$host;

$this->username=$user;

$this->password=$pwd;

}

/**

* 創建數據庫連接

* @param

* return void

*/

function set_conn (){

$this->conn=mysql_connect($this->host,$this->username,$this->password );

if ( isset($this->conn) && mysql_select_db($this->database) )

$this->error=0;

else

$this->error=1;

}

/**

* 設置當前操作的數據表

* @param string $tb

*

* @return void

*/

function set_table( $tb ) {

$this->table = $tb;

}

/**

* 返回sql查詢結果

* @param string $sql sql語句

*

* @return #id

*/

function get_result( $sql ){

return mysql_query( $sql , $this->conn );

}

/**

* 獲取查詢的結果

* @param string $sql

*

* @return array 結果的二維數組

*/

function get_result_rows( $sql ){

$array = array() ;

$result = $this->get_result( $sql );

while( $row = mysql_fetch_assoc( $result ) )

$array[] = $row ;

return $array;

}

/**

* 獲取部分查詢結果

*

* @param Array 數組

* @return Array

*/

function get_query_result( $cols , $tb=null , $condition , $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( isset($limit) )

$sql.="select top $limit $col from $tb";

else

$sql = "select $col from $tb";

if( isset($condition) ) $sql.=" where $condition";

if( isset($order) ) $sql.=" order by $order";

if( isset($limit) ) $sql.=" limit $start,$limit";

return $this->get_result_rows($sql);

}

/**

* 執行數據庫插入操作

*

* @param $arr values列表,數組索引為數據表字段

* @param $tb 操作數據表 如果為空則為設置的當前類的操作表

*/

function insert_info( $arr , $tb = "" ) {

$cols = array_keys( $arr );

$values = array_values( $arr );

if (empty($tb)) $tb = $this->table;

/*

foreach( $arr as $key => $value ){

$cols[] = $key;

$values[] = $value;

}

*/

$sql = "insert into [$tb](`".implode("`,`",$cols)."`) values('".implode("','",$values)."')";

//return $sql;

return $this->get_result( $sql );

}

/**

* 執行數據庫更新操作

*

* @param array $arr 要更新的字段值 數組索引為表字段名

* @param array $con 條件數組

* @param string $tb 要操作的數據表

*

*/

function update_info( $arr , $con , $tb = "" ) {

$cols = array();

$conditions = array();

if (empty( $tb )) $tb = $this->table;

if( is_array($arr) ) {

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

}

else

$sql = "update `$tb` set $arr where $con";

//return $sql;

return $this->get_result( $sql );

}

}

  • 上一篇:股票基金收益怎麽算?
  • 下一篇:如何用網頁登陸ftp如何用網頁登陸qq
  • copyright 2024編程學習大全網