PHP使用面向?qū)ο蟮木幊谭绞絹砭帉憯?shù)據(jù)庫操作類

創(chuàng)新互聯(lián)業(yè)務(wù)包括:成品網(wǎng)站、企業(yè)產(chǎn)品展示型網(wǎng)站建設(shè)、高端網(wǎng)站設(shè)計、電子商務(wù)型網(wǎng)站建設(shè)、成都外貿(mào)網(wǎng)站制作(多語言)、電子商務(wù)商城網(wǎng)站建設(shè)、按需規(guī)劃網(wǎng)站、營銷型網(wǎng)站等。效率優(yōu)先,品質(zhì)保證,用心服務(wù)是我們的核心價值觀,我們將繼續(xù)以良好的信譽(yù)為基礎(chǔ),秉承穩(wěn)固與發(fā)展、求實與創(chuàng)新的精神,為客戶提供更全面、更優(yōu)質(zhì)的互聯(lián)網(wǎng)服務(wù)!
步驟1:創(chuàng)建一個PHP的頁面“config.php”定義數(shù)據(jù)庫相關(guān)的參數(shù)
?php // config.php
define(?DB_USER?, "username");
define(?DB_PASSWORD?, "password");
define(?DB_DATABASE?, "database name");
define(?DB_SERVER?, "ip address of database server");
?
第2步:創(chuàng)建一個PHP的類,用于連接數(shù)據(jù)庫,命名為“db_connect.php”
?php // db_connnect.php
class DB_Connect {
private $con;
// constructor
function __construct() {
// connecting to database
$this-con = $this-connect();
}
//Function to connect with database
private function connect() {
// import database connection variables
require_once __DIR__.?/config.php?;
try {
$conn = new PDO(?mysql:host=?.DB_SERVER .?;
dbname=?.DB_DATABASE, DB_USER, DB_PASSWORD);
$conn-setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
echo ?ERROR: ? . $e-getMessage();
}
return $conn;
}
public function getDbConnection(){
return $this-con;
}
}
?
第3步:創(chuàng)建一個類,它包含了所有的功能,為您實現(xiàn)SQL查詢,命名為“db_functions.php”
調(diào)用里面的函數(shù)進(jìn)行SQL查詢、以促進(jìn)可重用性和可維護(hù)性
?php // db_functions.php
class DB_Functions {
private $con;
// constructor
function __construct() {
require_once __DIR__.?/db_connect.php?;
// connecting to database
$db = new DB_Connect();
$this-con = $db-getDbConnection();
}
public function selectUser($id) {
try {
$stmt = $this-con-prepare(?SQL語句?);
$params = array(?:id? = $id);
$stmt-execute($params);
return $stmt;
} catch(PDOException $e) {
echo ?ERROR: ? . $e-getMessage();
}
}
public function otherSQLfunction($parameter) {
// other sql code
}
}
第4步:最后,在你其他的PHP文件里面只需要簡單地調(diào)用“db_functions.php”的方法
?php
require_once __DIR__.?/db_functions.php?;
$db = new DB_Functions();
$result = $db-selectUser($id);
// other code
?
?php
$servername?=?"localhost";?//你的連接地址,可以是ip
$username???=?"username";?//你的用戶名
$password???=?"password";?//你的密碼
$dbname?????=?"myDB";?//你要連接數(shù)據(jù)庫的名字
//?創(chuàng)建連接
$conn?=?new?mysqli($servername,?$username,?$password,?$dbname);
//?檢測連接
if?($conn-connect_error)?{
die("連接失敗:?"?.?$conn-connect_error);
}
echo?"連接成功";
學(xué)習(xí)可以參考:
php程序編寫分總分兩種方式,分別為面向過程和面向?qū)ο螅脙烧弑容^你會更容易理解些
以下數(shù)據(jù)庫操作為例:
面向過程:
$conn = mysql_connect('127.0.0.1', 'root', '123456') or die('連接不成功!');
mysql_select_db('test', $conn) or die('數(shù)據(jù)庫不存在!');
$queryid = mysql_query("select * from sort");
while ($rs = mysql_fetch_assoc($queryid)) {
echo $rs['name'], 'br';
}
過程的代碼給人感覺比較亂,不易管理,以下實現(xiàn)以上代碼一樣的功能,但代碼清楚多了。
面向?qū)ο缶褪前殉S玫墓δ芊庋b為一個類,類由屬性和方法組成:
把以上過程代碼封裝成類,以文件形式保存為db.php
class db {
private $conn; //屬性
private $queryid; //屬性
//構(gòu)造函數(shù)
public function db($host, $dbuser, $dbpasswd, $dbname) {
$this-conn = mysql_connect($host, $dbuser, $dbpasswd) or die('連接不成功!');
mysql_select_db($dbname, $this-conn) or die('數(shù)據(jù)庫不存在!');
}
//查詢方法
public function query($sql) {
$this-queryid = mysql_query($sql, $this-conn);
}
public function fetch_assoc() {
return mysql_fetch_assoc($this-queryid);
}
}
//在a.php文件中實例化,代碼使用變得簡結(jié)和容易理解,代碼的重用性
inclode('db.php');
$db = new db('127.0.0.1', 'root', '123456', 'test');
$db-query("select * from sort");
while ($rs = $db-fetch_assoc()) {
echo $rs['name'], 'br';
}
網(wǎng)站標(biāo)題:php面向?qū)ο髷?shù)據(jù)庫 PHP 面向?qū)ο?/a>
新聞來源:http://www.chinadenli.net/article42/hipoec.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、網(wǎng)站制作、手機(jī)網(wǎng)站建設(shè)、搜索引擎優(yōu)化、品牌網(wǎng)站設(shè)計、用戶體驗
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)