MY
SQL 數據訪問方式,php4支持以MySQL_開頭的過程訪問方式,php5開始支持以
MySQLi_開頭的過程和MySQLi
面向對象訪問方式,本封裝類以MySQL_封裝
<?PHP
/*
MySQL 數據庫訪問封裝類
MySQL 數據訪問方式,php4支持以MySQL_開頭的過程訪問方式,PHP5開始支持以mysqli_開頭的過程和MySQLi面向對象
訪問方式,本封裝類以MySQL_封裝
數據訪問的一般流程:
1,連接數據庫 mysql_connect or MySQL_pconnect
2,選擇數據庫 MySQL_
select_db
3,執行SQL查詢 MySQL_query
4,處理返回的數據 mysql_fetch_array mysql_num_rows MySQL_fetch_
assoc MySQL_fetch_row etc
*/
class db_MySQL
{
var $querynum = 0 ; //當前頁面進程查詢數據庫的次數
var $dblink ; //數據庫連接資源
//鏈接數據庫
function connect($dbhost,$dbuser,$dbpw,$dbname='',$dbcharset='utf-8',$pconnect=0 , $halt=true)
{
$func = empty($pconnect) ? 'mysql_connect' : 'MySQL_pconnect' ;
$this->dblink = @$func($dbhost,$dbuser,$dbpw) ;
if ($halt && !$this->dblink)
{
$this->halt("無法鏈接數據庫!");
}
//設置查詢字符集
MySQL_query("SET character_set_connection={$dbcharset},character_set_results={$dbcharset},character_set_clIEnt=binary",$this->dblink) ;
//選擇數據庫
$dbname && @MySQL_select_db($dbname,$this->dblink) ;
}
//選擇數據庫
function select_db($dbname)
{
return MySQL_select_db($dbname,$this->dblink);
}
//執行SQL查詢
function query($sql)
{
$this->querynum++ ;
return MySQL_query($sql,$this->dblink) ;
}
//返回最近一次與連接句柄關聯的INSERT,UPDATE 或DELETE 查詢所影響的記錄行數
function affected_rows()
{
return MySQL_affected_rows($this->dblink) ;
}
//取得結果集中行的數目,只對select查詢的結果集有效
function num_rows($result)
{
return MySQL_num_rows($result) ;
}
//獲得單格的查詢結果
function result($result,$row=0)
{
return MySQL_result($result,$row) ;
}
//取得上一步 INSERT 操作產生的 ID,只對表有AUTO_INCREMENT ID的操作有效
function insert_id()
{
return ($id = MySQL_insert_id($this->dblink)) >= 0 ? $id : $this->result($this->query("SELECT last_insert_id()"), 0);
}
//從結果集提取當前行,以數字為key表示的關聯
數組形式返回
function fetch_row($result)
{
return MySQL_fetch_row($result) ;
}
//從結果集提取當前行,以字段名為key表示的關聯數組形式返回
function fetch_assoc($result)
{
return MySQL_fetch_assoc($result);
}
//從結果集提取當前行,以字段名和數字為key表示的關聯數組形式返回
function fetch_array($result)
{
return MySQL_fetch_array($result);
}
//關閉鏈接
function close()
{
return MySQL_close($this->dblink) ;
}
//輸出簡單的錯誤
Html提示信息並終止程序
function halt($msg)
{
$message = "<
Html>\n<head>\n" ;
$message .= "<meta content='text/Html;charset=gb2312'>\n" ;
$message .= "</head>\n" ;
$message .= "<body>\n" ;
$message .= "數據庫出錯:".Htmlspecialchars($msg)."\n" ;
$message .= "</body>\n" ;
$message .= "</Html>" ;
echo $message ;
exit ;
}
}
?>