WEB應用之 對PHP資料庫連線的簡單封裝

2021-06-06 04:17:45 字數 2304 閱讀 1295

開發的過程中,經常碰到需要連線資料庫、對資料庫發起查詢的情況。有時,我擔心資料庫連線或者查詢失敗,所以需要指定最大嘗試次數。由於資料庫連線和查詢在php頁面中非常普遍,為了避免反反覆覆地使用迴圈。我把這些**封裝起來,提供一定的復用性。不過,功能實在太簡單了,簡單記錄一下而已。

建立連線需要乙個四元組,即(資料庫所在的主機,使用者名稱,密碼,資料庫名)。我把這四者作為我的 dbutil 類的建構函式的引數,**如下:

class dbutil

//省略一萬行

}

考慮到發起連線可能需要多次嘗試,因此,最大嘗試次數視需求而定,因此需要指定連線資料庫的最大嘗試次數,dbutil類預設設定最大嘗試次數為1;而發起查詢也面臨同樣的問題,所以也需要提供指定最大查詢次數的途徑。

class dbutil

//省略一萬字

}

以最大嘗試次數為上限,建立資料庫連線並儲存到dbutil物件中。

class dbutil

} return $this->conn?true:false;

} //省略一萬字

}

class dbutil

} return false;

} //省略一萬字

}

mysqli_query() 函式返回的結果根據查詢是否成功、以及執行的命令而異。如果執行失敗則返回false,如果執行成功,則對於 select/show/describe/explain 命令,會返回乙個mysqli_result物件,否則返回true。為了避免使用query時還需要擔心返回值問題,封裝之後的函式將只返回 true 或者 false,以表明是否查詢成功,如果需要結果集,則另行獲取。

class dbutil

} return $this->result?true:false;

} //獲取結果集

public function getresult()

//省略一萬字

}

當在事務中執行多個命令時,為了及時檢測失敗並回滾常常需要麻煩的檢測。我把這種檢測放到dbutil中來,不過感覺不強大,可能後續有需求了再改進。

class dbutil

} if($i == $ilen)

$this->conn->rollback();

$this->conn->autocommit(true);

return false;

}}

$odbutil = new dbutil('localhost','uname','passwd','dbname');

$odbutil->setmaxtry('connect',5);//最多連線5次

$odbutil->setmaxtry('query',3);//最多查詢3次

if(!$odbutil->connect())

$odbutil->setcharset('utf8');//設定字符集編碼

//連線成功,則進行查詢

$q = "select * from tablename";

if(! $odbutil->query($q))//如果查詢失敗

$oresult = $odbutil->getresult();

//省略一萬行

class dbutil

public function setmaxtry($stype,$itimes)

//返回true或者false,明確表示是否連線成功

public function connect()

}return $this->conn?true:false;

} public function setcharset($scharset)

}return false;

} //返回true或者false,明確表示是否查詢成功

//查詢結果放在 $this->result中,可能是true false或者結果集

public function query($q)

}return $this->result?true:false;

} public function getresult()

public function getconnection()

public function close()

}

網路應用 Web應用之HTTP連線

非永續性連線 nonpersistent http 每個tcp連線最多允許傳輸乙個物件 http 1.0版本使用非永續性連線 永續性連線 persistent http 每個tcp連線允許傳輸多個物件 http 1.1 版本預設使用永續性連線 從客戶端傳送乙個很小的資料報到伺服器並返回所經歷的時間 ...

php資料庫連線

通過php你可以輕鬆的連線到資料庫,請求資料並將其顯示在你的web站點中,甚至修改資料庫中的資料。mysql是一種很流行的資料庫,並且在網際網路中有許多有關php與mysql的教程。mysql是免費的,這一點也許就吸引了不少人。由於其廣泛應用,我就不想在這裡贅述mysql的使用方法了。oracle被...

PHP 資料庫連線

連線資料庫步驟 1 先檢視phpinfo 配置項中有沒有開啟pdo庫 2 定義乙個資料來源,包括資料庫型別,主機位址,資料庫名稱 dsn mysql host localhost dbname hdw username root 資料庫的使用者名稱 password root 資料庫的密碼 3 例項...