php mysql封裝 PHP中對資料庫操作的封裝

2021-10-22 22:28:01 字數 3904 閱讀 2616

現在我們把其封裝在dbfz.inc中,其設計如下:

$#@60;?

class dbinte***ce{ var $dbid=1; //用於確定當前操作的資料庫,當dbid為1代表mysql,當為 2代表 sql server,為3時為odbc或其它。

var $dbhost; //資料庫所在主機網域名稱

var $dbusername; //資料庫使用者名稱

var $dbpassword; //使用者密碼

//設定主機、使用者名稱及密碼函式

function setparameter($host,$username,$password){

$this-$#@62;dbusername=$username;

$this-$#@62;dbhost=$host;

$this-$#@62;dbpassword=$password;

//聯接數庫函式

function dbconnect(){

switch($this-$#@62;dbid)

case 1;

return @mysql_connect($this-$#@62;dbhost,$this-$#@62;dbusername,$this-$#@62;dbpassword);

case 2;

//用支援sql server的函式

case 3;

//用支援odbc的函式

//關閉數庫函式

function dbclose($datahandle){

switch($this-$#@62;dbid)

case 1;

mysql_close($datahandle);

case 2;

//用支援sql server的函式

case 3;

//用支援odbc的函式

//執行sql語句函式

function dbquery($dbname,$sql,$dbhandle){

switch($this-$#@62;dbid)

case 1;

return @mysql_db_query($dbname,$sql,$dbhandle);

case 2;

//用支援sql server的函式

case 3;

//用支援odbc的函式

//檢索sql返回值的當前記錄函式

function dbfetchrow($datahandle,$offset=-1){

switch($this-$#@62;dbid)

case 1;

@mysql_data_seek($datahandle,$offset);

return @mysql_fetch_row($datahandle);

case 2;

//用支援sql server的函式

case 3;

//用支援odbc的函式

//返回檢索記錄數函式

function dbnumrows($datahandle){

switch($this-$#@62;dbid)

return @mysql_num_rows($datahandle);

case 2;

//用支援sql server的函式

case 3;

//用支援odbc的函式

//返回檢索列數函式

function dbnumcols($datahandle){

switch($this-$#@62;dbid)

case 1;

return @mysql_num_fields($datahandle);

case 2;

//用支援sql server的函式

case 3;

//用支援odbc的函式

現把使用說明如下:

在程式中用dbinte***ce類生乙個物件$test=new dbinte***ce;

設定引數

test-$#@62;$dbusername ;使用者名稱

test-$#@62;$dbpassword;密碼

test-$#@62;$dbhost;主機

void setparameter(string host, string username, string password);

資料庫連線:dbhandle test-$#@62;dbconnect();

返回值:fasle ,資料庫連線錯誤

$#@62;0, 資料庫連線控制代碼

資料庫關閉:void test-$#@62;dbclose(dbhandle);

表操作:int test-$#@62;dbquery(string databasename, string sql,dbhandle);執行sql語句

返回值: false, sql執行錯誤

$#@62;0, sql執行正確, 同時指向sql返回值,

int test-$#@62;dbnumrows(datahandle); 取得sql執行後(主要為select語句)獲得的記錄數

int test-$#@62;dbnumcols(datahandle); 取得sql執行後(主要為select語句)獲得的記錄字段數

現在我們發乙個例了講解:

資料庫採用mqsql:其主機名為 "localhost",使用者名為"root"和密碼""。

在mysql中有乙個testdb資料庫及其中的表table1,表包括:name和pay兩個字段

$#@60;html$#@62;$#@60;head$#@62;

$#@60;title$#@62;test$#@60;/title$#@62;

$#@60;/head$#@62;$#@60;body$#@62;

$#@60;p$#@62; $#@60;?php

require("testdb.inc"); //裝載dbinte***ce類

$test = new dbinte***ce;//用類dbinte***ce生成乙個物件

$test-$#@62;setparameter("localhost","root","");//設定資料庫引數

$db = $test-$#@62;dbconnect();//連線資料庫

$query = "select name,pay from table ";//設定sql語句

$temp_result = $test-$#@62;dbquery("testdb",$query,$db);//執行資料主庫操作

echo "$#@60;br$#@62;";

$ls_num = $test-$#@62;dbnumrows($temp_result); //取得查詢結果的記錄數

echo $ls_num;

echo "$#@60;br$#@62;";

if (ls_num$#@62;0 )

$ls_col = $test-$#@62;dbnumcols($db); //取得表的列數

echo $ls_col;

echo "$#@60;br$#@62;";

$cate_result=$test-$#@62;dbfetchrow($temp_result,0);//取得記錄數的第一行

$hcid=$cate_result[0];// 取得name的值

$hcate=$cate_result[1];//取得pay的值

echo $hcid;

echo "$#@60;br$#@62;";

echo $hcate;

?$#@62;

$#@60;hr$#@62;

$#@60;address$#@62;$#@60;/address$#@62;

$#@60;/body$#@62;$#@60;/html$#@62;

這就是乙個簡單的應用封裝的類來完成對資料庫的操作。如果要操作其它資料庫只需要修改dbinte***ce類中的dbid變數即可.

php mysql功能函式封裝

資料庫初始化 function dbinit dbname,host localhost user root pwd charset utf8 查 得到單行 function dbgetone table,where 1 where rs mysql query sql mysql query可以執...

PHP學習筆記 PHP MySQL

參考資料 一 php mysql 1.安裝mysql 2.連線mysql 嘗試一下pdo php data objects 的用法 3.建立 刪除資料庫 4.建立資料表 5.插入一資料 6.插入多行資料 7.php mysql 預處理語句 預處理語句對於防止 mysql 注入是非常有用的。預處理語句...

php mysql 課件 php課件

ppt內容 第一講 php環境搭配和 除錯 第一講 php環境搭配和工具的使用 第一講 php環境搭配和 除錯 第一講 php環境搭配和 除錯 第一講 php環境搭配和 除錯 第一講 php環境搭配和 除錯 第二講 php的資料型別 原始碼除錯 第二講 php的資料型別 原始碼除錯 第二講 php的...