/*
************************************
????mysql連接類實現?-write?by?三千
?*************************************
*/
?
/*
?使用方法(可以執行一般mysql命令,insert,?delete?select??update)
?在文件前,需要加載方法
?require("mysql.class.php")
?$db=new?dbMysql;?加載類
?$db->dbServer="localhost";
?$db->dbUser="root";
?$db->dbPwd="";
?$db->dbDatabase="";
?$db->dbConnect();

?query($sql,$database);
?query_first($sql,$database);
?fetch_array($sql,$database);
?count_records($table,$index,$where,$database);)//為得到一個表記錄的數目,$table為表名,$index為key,$where為條件,$dbbase為數據庫,后兩個可以不選
?
*/
?
class
?db_Mysql
?{
??
??
var
?
$usepconnect
;
??
var
?
$dbSever
;
??
var
?
$dbDatabase
;?
??
var
?
$dbbase
;
??
var
?
$dbUser
;
??
var
?
$dbPwd
;
??
var
?
$dbLink
;
??
var
?
$query_id
;
//
?執行query命令的指針
??
var
?
$num_rows
;
//
?返回的條目數
??
var
?
$insert_id
;
//
?傳回最后一次使用?INSERT?指令的?ID
??
var
?
$affected_rows
;
//
?傳回query命令所影響的列數目
??????????????????//?INSERT、UPDATE?或?DELETE?所影響的列?(row)?數目。
??????????????????//?delete?如果不帶where,那么則返回0
??
function
?dbconnect(
$dbbase
,
$usepconnect
)
??{
???
//
global?$usepconnect;
???
if
(
$usepconnect
==
1
)
????
$this
->
dbLink
=
@
mysql_pconnect
(
$this
->
dbServer
,
$this
->
dbUser
,
$this
->
dbPwd);
//
long?connect
???
else
????
$this
->
dbLink
=
@
mysql_connect
(
$this
->
dbServer
,
$this
->
dbUser
,
$this
->
dbPwd);
//
short?connect
???//$this->dbhalt($this->dbbase);
???
if
(
!
$this
->
dbLink)?
$this
->
dbhalt(
"
exsiting?error?when?connecting!
"
);
???
if
(
$this
->
dbbase
==
""
)?
$this
->
dbbase
=
$this
->
dbDatabase;
???
if
(
!
@
mysql_select_db
(
$this
->
dbbase
,
$this
->
dbLink))
????
$this
->
dbhalt(
"
can't?use?this?database,please?check?database!
"
);
??}?
//
?end?func()?connect?database
??//change?database
??
function
?dbchange_db(
$dbbase
){
???
$this
->
dbconnect(
$dbbase
);
??
??}
??
function
?dbquery(
$sql
){
???
//
if($dbbase!="")?$this->dbchange_db($dbbase);
???
$this
->
query_id
=
mysql_query
(
$sql
);
???
//
print($query_id);
???
if
(
!
$this
->
query_id)?
$this
->
dbhalt(
"
wrong?sql?sentence!
"
.
$sql
);
???
return
?
$this
->
query_id;
??}
??
function
?dbquery_first(
$sql
,
$dbbase
){
???
$query_id
=
dbquery(
$sql
,
$dbbase
);
???
$returnarray
=
mysql_fetch_array
(
$query_id
);
???
$this
->
num_rows
=
mysql_num_rows
(
$query_id
);
???
$this
->
dbfree_result(
$query_id
);
???
return
?
$returnarray
;
??}
??
function
?dbhalt(
$errmsg
){
???
$msg
=
"
database?is?wrong!

"
;
???
$msg
=
$errmsg
;
???
echo
"
$msg
"
;
???
die
();
??}
??
function
?dbfetch_array(
$sql
,
$dbbase
,
$type
){
???
$query_id
=
$this
->
dbquery(
$sql
,
$dbbase
);
???
$this
->
numrows
=
mysql_num_rows
(
$query_id
);
???
for
(
$i
=
0
;
$i
<
$this
->
numrows;
$i
++
){
????
if
(
$type
==
0
)
?????
$array
[
$i
]
=
mysql_fetch_array
(
$query_id
);
????
else
?????
$array
[
$i
]
=
mysql_fetch_array
(
$query_id
);
???}
???
$this
->
dbfree_result(
$query_id
);
???
return
?
$array
;
??}
??
function
?dbdelete(
$sql
,
$dbdase
){
???
$query_id
=
$this
->
dbquery(
$sql
,
$dbbase
);
???
$this
->
affected_rows
=
mysql_affected_rows
(
$this
->
dbLink);
???
$this
->
free_reuslt(
$query_id
);
??}
??
function
?dbinsert(
$sql
,
$dbbase
){
???
$query_id
=
$this
->
dbquery(
$sql
,
$dbbase
);
???
$this
->
insert_id
=
mysql_insert_id
(
$this
->
dbLink);
???
$this
->
affected_rows
=
mysql_affected_rows
(
$this
->
dbLink);
???
$this
->
free_reuslt(
$query_id
);
??}
??
function
?dbupdate(
$sql
,
$dbbase
){
???
$query_id
=
$this
->
dbquery(
$sql
,
$dbbase
);
???
$this
->
insert_id
=
mysql_insert_id
(
$this
->
dbLink);
???
$this
->
affected_rows
=
mysql_affected_rows
(
$this
->
dbLink);
???
$this
->
free_reuslt(
$query_id
);
??}
??
function
?dbcount_records(
$table
,
$index
=
"
id
"
,
$where
=
""
,
$dbbase
){
???
if
(
$dbbase
!=
""
)
$this
->
dbchangedb(
$dbbase
);
???
$result
=
@
mysql_query
(
"
select?count(
"
.
$index
.
"
)?as?'num'?form
"
.
$table
.
"
where
"
.
$where
,
$this
->
dbLink);
???
if
(
!
$result
)?
$this
->
dbhalt(
"
wrong?sql?sentence
"
.
$sql
);
????
$num
=
@
mysql_result
(
$result
,
0
,
"
num
"
);
???
return
?
$num
;
??}
??
function
?dbgetnum(
$result
){
???
$num
=
@
mysql_numrows
(
$result
);
???
return
?
$num
;
??}
??
function
?dbfree_result(
$result_id
){
???@
mysql_free_result
(
$query_id
);
??}
??
function
?dbclose(){
???
mysql_close
(
$this
->
dbLink);
??}
?}?
//
?end?class
?
$db
=
new
?db_Mysql;
?
$db
->
dbServer
=
"
localhost
"
;
?
$db
->
dbUser
=
"
root
"
;
?
$db
->
dbPwd
=
""
;
?
$db
->
dbbase
=
"
test
"
;?


?>
/*************************************
??? mysql連接類實現 -write by 三千
?**************************************/
?/*
?使用方法(可以執行一般mysql命令,insert, delete select? update)
?在文件前,需要加載方法
?require("mysql.class.php")
?$db=new dbMysql; 加載類
?$db->dbServer="localhost";
?$db->dbUser="root";
?$db->dbPwd="";
?$db->dbDatabase="";
?$db->dbConnect();
?query($sql,$database);
?query_first($sql,$database);
?fetch_array($sql,$database);
?count_records($table,$index,$where,$database);)//為得到一個表記錄的數目,$table為表名,$index為key,$where為條件,$dbbase為數據庫,后兩個可以不選
?*/
?class db_Mysql
?{
?
? var $usepconnect;
? var $dbSever;
? var $dbDatabase;
? var $dbbase;
? var $dbUser;
? var $dbPwd;
? var $dbLink;
? var $query_id;// 執行query命令的指針
? var $num_rows;// 返回的條目數
? var $insert_id;// 傳回最后一次使用 INSERT 指令的 ID
? var $affected_rows;// 傳回query命令所影響的列數目
????????????????? // INSERT、UPDATE 或 DELETE 所影響的列 (row) 數目。
????????????????? // delete 如果不帶where,那么則返回0
? function dbconnect($dbbase,$usepconnect)
? {
?? //global $usepconnect;
?? if($usepconnect==1)
??? $this->dbLink=@mysql_pconnect($this->dbServer,$this->dbUser,$this->dbPwd);//long connect
?? else
??? $this->dbLink=@mysql_connect($this->dbServer,$this->dbUser,$this->dbPwd);//short connect
?? //$this->dbhalt($this->dbbase);
?? if(!$this->dbLink) $this->dbhalt("exsiting error when connecting!");
?? if($this->dbbase=="") $this->dbbase=$this->dbDatabase;
?? if(!@mysql_select_db($this->dbbase,$this->dbLink))
??? $this->dbhalt("can't use this database,please check database!");
? } // end func() connect database
? //change database
? function dbchange_db($dbbase){
?? $this->dbconnect($dbbase);
?
? }
? function dbquery($sql){
?? //if($dbbase!="") $this->dbchange_db($dbbase);
?? $this->query_id=mysql_query($sql);
?? //print($query_id);
?? if(!$this->query_id) $this->dbhalt("wrong sql sentence!".$sql);
?? return $this->query_id;
? }
? function dbquery_first($sql,$dbbase){
?? $query_id=dbquery($sql,$dbbase);
?? $returnarray=mysql_fetch_array($query_id);
?? $this->num_rows=mysql_num_rows($query_id);
?? $this->dbfree_result($query_id);
?? return $returnarray;
? }
? function dbhalt($errmsg){
?? $msg="
database is wrong!
";
?? $msg=$errmsg;
?? echo"$msg";
?? die();
? }
? function dbfetch_array($sql,$dbbase,$type){
?? $query_id=$this->dbquery($sql,$dbbase);
?? $this->numrows=mysql_num_rows($query_id);
?? for($i=0;$i<$this->numrows;$i++){
??? if($type==0)
???? $array[$i]=mysql_fetch_array($query_id);
??? else
???? $array[$i]=mysql_fetch_array($query_id);
?? }
?? $this->dbfree_result($query_id);
?? return $array;
? }
? function dbdelete($sql,$dbdase){
?? $query_id=$this->dbquery($sql,$dbbase);
?? $this->affected_rows=mysql_affected_rows($this->dbLink);
?? $this->free_reuslt($query_id);
? }
? function dbinsert($sql,$dbbase){
?? $query_id=$this->dbquery($sql,$dbbase);
?? $this->insert_id=mysql_insert_id($this->dbLink);
?? $this->affected_rows=mysql_affected_rows($this->dbLink);
?? $this->free_reuslt($query_id);
? }
? function dbupdate($sql,$dbbase){
?? $query_id=$this->dbquery($sql,$dbbase);
?? $this->insert_id=mysql_insert_id($this->dbLink);
?? $this->affected_rows=mysql_affected_rows($this->dbLink);
?? $this->free_reuslt($query_id);
? }
? function dbcount_records($table,$index="id",$where="",$dbbase){
?? if($dbbase!="")$this->dbchangedb($dbbase);
?? $result=@mysql_query("select count(".$index.") as 'num' form".$table."where".$where,$this->dbLink);
?? if(!$result) $this->dbhalt("wrong sql sentence".$sql);
??? $num=@mysql_result($result,0,"num");
?? return $num;
? }
? function dbgetnum($result){
?? $num=@mysql_numrows($result);
?? return $num;
? }
? function dbfree_result($result_id){
?? @mysql_free_result($query_id);
? }
? function dbclose(){
?? mysql_close($this->dbLink);
? }
?} // end class
?$db=new db_Mysql;
?$db->dbServer="localhost";
?$db->dbUser="root";
?$db->dbPwd="";
?$db->dbbase="test";
?>
?