程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> 一個MYSQL連接類

一個MYSQL連接類

編輯:關於MYSQL數據庫
class dbLink //數據庫查詢的類
{ var $DBaseLink; //數據庫連接指針
var $DBase;

function dbLink($base="") //構造函數
//$base 為選擇數據庫名稱
{ $this->DBaseLink=@MySQL_connect("host","user","passWord");
if(!$this->DBaseLink) dIE($this->dbError("1"));
if($base!="") $this->dbChange($base);

}

function dbClose() //關閉數據庫連接
{ MySQL_close($this->DBaseLink);
}

function dbError($n,$sql="") //輸出錯誤信息,並退出程序
{
$dbErrorCode=array(
1 => "不能連接到數據庫",
1004 => DB_ERROR_CANNOT_CREATE,
1005 => DB_ERROR_CANNOT_CREATE,
1006 => DB_ERROR_CANNOT_CREATE,
1007 => "對象已經存在,不能完成創建操作",
1008 => "不能完成刪除操作",
1046 => DB_ERROR_NODBSELECTED,
1050 => DB_ERROR_ALREADY_EXISTS,
1051 => DB_ERROR_NOSUCHTABLE,
1054 => "所檢索的字段不存在",
1062 => DB_ERROR_ALREADY_EXISTS,
1064 => DB_ERROR_SYNTAX,
1100 => DB_ERROR_NOT_LOCKED,
1136 => DB_ERROR_VALUE_COUNT_ON_ROW,
1146 => "所檢索的數據表不存在",
1049 => "所選擇的數據庫不存在"
);
echo "錯誤 $n :".$dbErrorCode[$n]."
".$sql."";

}
function dbChange($base) //改變當前數據庫
{
$this->DBase=$base;
@MySQL_select_db($base,$this->DBaseLink);
if($msg=MySQL_errno($this->DBaseLink))
您正在看的MySQL教程是:一個MySQL連接類。dIE($this->dbError($msg));

}


function dbQuery($sql,$base="",$type=0) //對指定數據庫進行訪問
//$sql為SQL語句

//$base為訪問的數據庫名,如果沒有則使用上次使用的
//$type為返回數組格式,0返回name=>value形式,1返回value格式
{ if($base!="" || $this->DBase!=$base) $this->dbChange($base);
$result=@MySQL_query($sql,$this->DBaseLink);
if($msg=MySQL_errno($this->DBaseLink)) dIE($this->dbError($msg,$sql));

@$num=MySQL_num_rows($result);
if($num==0) $rtArray="";
else {
for($i=0;$i<$num;$i++)
$rtArray[$i]=($type==0)?mysql_fetch_array($result):MySQL_fetch_row($result);

}
@MySQL_free_result($result);
return $rtArray;
}




function dbCountRecords($table,$where="",$base="",$index="id") //統計表中記錄的數目
//$table 操作的數據表名稱
//$where 完整的where子句
//$base 操作的數據庫名稱
//$index 操作所使用的索引字段
{ if($base!="" || $this->DBase!=$base) $this->dbChange($base);
$result = MySQL_query("select count(".$index.") as 'num' from $table ".$where,$this->DBaseLink);
@$num = MySQL_result($result,0,"num");
&n


您正在看的MySQL教程是:一個MYSQL連接類。bsp;@MySQL_free_result($result);
return $num;
}



function dbIo($sql,$base="") //無返回值的SQL操作,例如insert操作,返回新插入的id,update和delete無返回值
{ if($base!="" || $this->DBase!=$base) $this->dbChange($base);
$result=@MySQL_query($sql,$this->DBaseLink);
@MySQL_free_result($result);
return MySQL_insert_id($this->DBaseLink);

}

function dbFIEldList($table,$base) //字段信息列表
{ $pt = @MySQL_list_fIElds($base,$table);
if($msg=MySQL_errno($this->DBaseLink)) dIE($this->dbError($msg));
$n=MySQL_num_fIElds($pt);

for($i=0;$i<$n;$i++) {
$name = MySQL_fIEld_name($pt,$i);
$type = MySQL_fIEld_type($pt,$i);
$len = MySQL_fIEld_len($pt,$i);
$rt[$i]=array("name" => $name, //字段名稱
"type" => $type, //字段類型
"len" => $len); //字段長度
}
return $rt;
}

function dbTableList($basename) //數據庫basename的表信息
{
$result=MySQL_list_tables($basename,$this->DBaseLink);
$rt=MySQL_fetch_array($result);
@MySQL_free_result($result);
return $rt;
}

}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved