PHP訪問MYSQL資料庫封裝類(附函數說明)

來源:互聯網
上載者:User

複製代碼 代碼如下:<?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 ;
}
}
?>
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.