色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

PHP中對數(shù)據(jù)庫操作的封裝

瀏覽:37日期:2024-01-19 11:11:21
PHP中對數(shù)據(jù)庫操作的封裝 在動態(tài)網(wǎng)面設計中很多都要涉及到對數(shù)據(jù)庫的操作,但是有時跟據(jù)需要而改用其它后臺數(shù)據(jù)庫,就需要大量修改程序。這是一件枯燥、費時而且容易出錯的功作。其實我們可以用PHP中的類來實現(xiàn)對數(shù)據(jù)庫操作的封裝,從而使寫出的程序在很小的改動下就可以完成后臺數(shù)據(jù)庫的更改。 現(xiàn)在我們把其封裝在dbfz.inc中,其設計如下: <? class dbInterface{ var $dbID=1; //用于確定當前操作的數(shù)據(jù)庫,當dbID為1代表MySql,當為 2代表 SQL Server,為3時為ODBC或其它。 var $dbHost; //數(shù)據(jù)庫所在主機域名 var $dbUsername; //數(shù)據(jù)庫用戶名 var $dbPassword; //用戶密碼 //設置主機、用戶名及密碼函數(shù) function setParameter($host,$username,$password){ $this->dbUsername=$username; $this->dbHost=$host; $this->dbPassword=$password; } //聯(lián)接數(shù)庫函數(shù) function dbConnect(){ switch($this->dbID) { case 1; return @mysql_connect($this->dbHost,$this->dbUsername,$this->dbPassword); case 2; //用支持SQL Server的函數(shù) case 3; //用支持ODBC的函數(shù) };;} //關閉數(shù)庫函數(shù) function dbClose($dataHandle){ switch($this->dbID) { case 1; mysql_close($dataHandle); case 2; //用支持SQL Server的函數(shù) case 3; //用支持ODBC的函數(shù) };;} //執(zhí)行SQL語句函數(shù) function dbQuery($dbName,$sql,$dbHandle){ switch($this->dbID) { case 1; return @mysql_db_query($dbName,$sql,$dbHandle); case 2; //用支持SQL Server的函數(shù) case 3; //用支持ODBC的函數(shù) };;} //檢索SQL返回值的當前記錄函數(shù) function dbFetchrow($dataHandle,$offset=-1){ switch($this->dbID) { case 1; @mysql_data_seek($dataHandle,$offset); return @mysql_fetch_row($dataHandle); case 2; //用支持SQL Server的函數(shù) case 3; //用支持ODBC的函數(shù) };;} //返回檢索記錄數(shù)函數(shù) function dbNumrows($dataHandle){ switch($this->dbID) { case 1; return @mysql_num_rows($dataHandle); case 2; //用支持SQL Server的函數(shù) case 3; //用支持ODBC的函數(shù) };;} //返回檢索列數(shù)函數(shù) function dbNumcols($dataHandle){ switch($this->dbID) { case 1; return @mysql_num_fields($dataHandle); case 2; //用支持SQL Server的函數(shù) case 3; //用支持ODBC的函數(shù) };;} } 現(xiàn)把使用說明如下: 在程序中用dbInterface類生一個對象$test=new dbInterface; 設置參數(shù) test->$dbUsername ;用戶名 test->$dbPassword;密碼 test->$dbHost;主機 void setParameter(string host, string username, string password); 數(shù)據(jù)庫連接:dbhandle test->dbConnect(); 返回值:fasle ,數(shù)據(jù)庫連接錯誤 >0, 數(shù)據(jù)庫連接句柄 數(shù)據(jù)庫關閉:void test->dbClose(dbhandle); 表操作:int test->dbQuery(string databasename, string sql,dbhandle);執(zhí)行SQL語句 返回值: false, SQL執(zhí)行錯誤 >0, SQL執(zhí)行正確, 同時指向SQL返回值, 數(shù)據(jù)操作:int test->dbFetchrow(dataHandle,int offset);檢索SQL返回值的當前記錄,成功執(zhí)行后,指針移向下一條記錄 int test->dbNumrows(dataHandle); 取得SQL執(zhí)行后(主要為SELECT語句)獲得的記錄數(shù) int test->dbNumcols(dataHandle); 取得SQL執(zhí)行后(主要為SELECT語句)獲得的記錄字段數(shù) 現(xiàn)在我們發(fā)一個例了講解: 數(shù)據(jù)庫采用MQSQL:其主機名為 "localhost",用戶名為"root"和密碼""。 在mysql中有一個testdb數(shù)據(jù)庫及其中的表table1,表包括:name和pay兩個字段 ----- <HTML><HEAD> <TITLE>test</TITLE> </HEAD><BODY> <P> <?php require("testdb.inc"); //裝載dbInterface類 $test = new dbInterface;//用類dbInterface生成一個對象 $test->setParameter("localhost","root","");//設置數(shù)據(jù)庫參數(shù) $db = $test->dbConnect();//連接數(shù)據(jù)庫 $Query = "SELECT name,pay FROM table ";//設置SQL語句 $temp_result = $test->dbQuery("testdb",$Query,$db);//執(zhí)行數(shù)據(jù)主庫操作 echo "<br>"$ls_num = $test->dbNumrows($temp_result); //取得查詢結果的記錄數(shù) echo $ls_num; echo "<br>"if (ls_num>0 ) { $ls_col = $test->dbNumcols($db); //取得表的列數(shù) echo $ls_col;;;echo "<br>"$cate_result=$test->dbFetchrow($temp_result,0);//取得記錄數(shù)的第一行 $hcid=$cate_result[0];// 取得name的值 $hcate=$cate_result[1];//取得pay的值 echo $hcid; echo "<br>"echo $hcate; } ?>;;<HR> <ADDRESS></ADDRESS> </BODY></HTML> 這就是一個簡單的應用封裝的類來完成對數(shù)據(jù)庫的操作。如果要操作其它數(shù)據(jù)庫只需要修改dbInterface類中的dbID變量即可.
標簽: PHP
主站蜘蛛池模板: 欧美亚洲视频在线观看 | 欧美国产日韩在线播放 | 成年人在线免费观看网站 | 狠狠88综合久久久久综合网 | 青青青免费手机版视频在线观看 | 久久免费精品一区二区 | 日韩 欧美 自拍 在线 视频 | 国产精品免费大片一区二区 | 一区二区三区影视 | 欧美日韩久久 | 国产a一级毛片午夜剧院 | 国产精品久久久久久麻豆一区 | 亚洲国产精品免费观看 | 日韩在线二区 | 久久精品国产亚洲 | 欧美一级欧美一级毛片 | 国产精品久久久久久 | 国产码一区二区三区 | 久香草视频在线观看 | 中文字幕视频在线观看 | 欧美在线做爰高清视频 | 久久久综合视频 | 手机看片日韩国产一区二区 | 国内精品一区二区2021在线 | 亚洲国产成人久久一区久久 | 综合色久七七综合七七蜜芽 | 91久久精品国产免费一区 | 波多野结衣在线看片 | 偷拍小视频99在线 | 免费一级毛片免费播放 | 国产深夜福利视频网站在线观看 | 玖草在线观看 | 久久国产精品-久久精品 | 国产精品麻豆一区二区三区v视界 | 亚洲第一成人天堂第一 | 国产在线精品一区二区不卡 | 欧美成人资源 | 加勒比综合| 91久久精一区二区三区大全 | 久久久久久国产视频 | 在线成人免费 |