本文執行個體講述了php面象對象資料庫操作類。分享給大家供大家參考。
具體實現代碼如下:
複製代碼 代碼如下:
//此處構造一個資料庫操作類,封裝所有資料庫操作
//可以擴充便於後台管理程式的使用
Class MySQLDB
{
var $host;
var $user;
var $passwd;
var $database;
var $conn;
//利用建構函式實現變數初始化
//同時串連資料庫操作
function MySQLDB($host,$user,$password,$database)
{
$this->host = $host;
$this->user = $user;
$this->passwd = $password;
$this->database = $database;
$this->conn=mysql_connect($this->host, $this->user,$this->passwd) or
die("Could not connect to $this->host");
mysql_select_db($this->database,$this->conn) or
die("Could not switch to database $this->database");
}
//該函數用來關閉資料庫連接
function Close()
{
MySQL_close($this->conn);
}
//該函數實現資料庫查詢操作
function Query($queryStr)
{
$res =Mysql_query($queryStr, $this->conn) or
die("Could not query database");
return $res;
}
//該函數返回記錄集
function getRows($res)
{
$rowno = 0;
$rowno = MySQL_num_rows($res);
if($rowno>0)
{
for($row=0;$row<$rowno;$row++ )
{
$rows[$row]=MySQL_fetch_array($res);
//本來為MySQL_fetch_row,但是不能以數組的方式來提取,只能用索引
//這樣可以用索引和名稱,更為方便
}
return $rows;
}
}
//該函數取回資料庫記錄數
function getRowsNum($res)
{
$rowno = 0;
$rowno = mysql_num_rows($res);
return $rowno;
}
//該函數返回資料庫表欄位數
function getFieldsNum($res)
{
$fieldno = 0;
$fieldno = mysql_num_fields($res);
return $fieldno;
}
//該函數返回資料庫表欄位名稱集
function getFields($res)
{
$fno = $this->getFieldsNum($res);
if($fno>0)
{
for($i=0;$i<$fno;$i++ )
{
$fs[$i]=MySQL_field_name($res,$i);//取第i個欄位的名稱
}
return $fs;
}
}
}
//使用時直接require該檔案,然後執行個體化:
$SqlDB = new MySQLDB("localhost","root","root","testdb");
$sql = "select * from tableX...";
$result = $SqlDB->Query($sql);//查詢
$rs = $SqlDB->getRows($result);//獲得記錄集
$num = $SqlDB->getRowsNum($result);//獲得記錄數
...剩下的操作就是迴圈取值,
for($i=0;$i<$num;$i++){
echo($rs[$i]["欄位名"]);
}
...
最後不要忘記關閉資料路串連
複製代碼 代碼如下:
$SqlDB->Close();
當然這句可以不要,php會自動登出!但是這樣能夠養成一個好的習慣,最好還是加上!其他自己類推。
希望本文所述對大家的PHP程式設計有所協助。