色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

php dao pdo

錢瀠龍1年前7瀏覽0評論

PHP DAO PDO,全稱是(PHP Data Access Object PHP數(shù)據(jù)庫訪問對象),是一種傳統(tǒng)的設(shè)計模式。它被廣泛使用于PHP應用中,用于管理應用與數(shù)據(jù)之間的交互。具體來說,它是一種高效的數(shù)據(jù)庫訪問技術(shù),支持多種數(shù)據(jù)庫。采用PDO的主要優(yōu)點是實現(xiàn)了對不同數(shù)據(jù)庫的無縫切換,所以開發(fā)者們可以在不同的數(shù)據(jù)庫中共享代碼。

使用PDO和DAO,我們可以配置一些數(shù)據(jù)庫訪問類,在這些類里面可以定義一系列的方法,這些方法可以通過PDO方法調(diào)用需要執(zhí)行的SQL語句。下面詳細介紹一下PDO、DAO的使用。

為了演示PDO、DAO的用法,我們以MySQL數(shù)據(jù)庫為例,首先需要配置PDO連接。示例代碼如下:

try {
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
foreach($dbh->query('SELECT * from FOO') as $row) {
print_r($row);
}
$dbh = null;
} catch (PDOException $e) {
print "Error!: " . $e->getMessage() . "
"; die(); }

上面代碼中,首先通過PDO類的構(gòu)造方法傳入數(shù)據(jù)庫的用戶名、密碼和數(shù)據(jù)庫名。然后使用foreach循環(huán)遍歷查詢結(jié)果,最后關(guān)閉數(shù)據(jù)庫連接。

PDO支持諸多數(shù)據(jù)庫。在PHP中支持的數(shù)據(jù)庫包括MySQL、SQLite和Oracle等數(shù)據(jù)庫系統(tǒng)。相信對于不同的開發(fā)人員,支持不同的數(shù)據(jù)庫是非常重要的。

接下來,我們來介紹PDO和DAO的具體用法。首先需要確定每個數(shù)據(jù)庫所需ORM擴展的類,創(chuàng)建基礎(chǔ)的數(shù)據(jù)訪問對象BeanDAO,并創(chuàng)建相關(guān)的查詢查詢類,進行數(shù)據(jù)表的創(chuàng)建操作。

db = new PDO($dsn,$user,$password);
}
}
class ContactQuery extends BeanDAO{
public function findAll(){
return $this->db->query('select * from CONTACT')
->fetchAll(PDO::FETCH_ASSOC);
}
}
?>

BeanDAO創(chuàng)建了與數(shù)據(jù)庫的連接;ContactQuery則執(zhí)行一些查詢操作。這當然只是基本操作,開發(fā)人員可以自行添加各種不同的操作,包括新增、更新和刪除操作等。示例代碼如下:

db->query('select * from PRODUCT')
->fetchAll(PDO::FETCH_ASSOC);
}
public function findOne($id){
return $this->db->prepare("select * from PRODUCT where id=:id")
->execute(array(":id"=>$id))
->fetch(PDO::FETCH_ASSOC);
}
public function create($product){
$stmt = $this->db->prepare('INSERT INTO PRODUCT (name, price, sales) VALUES (:name, :price, :sales)');
$stmt->bindParam(':name', $product['name']);
$stmt->bindParam(':price', $product['price']);
$stmt->bindParam(':sales', $product['sales']);
return $stmt->execute();
}
public function update($product){
$stmt = $this->db->prepare('UPDATE PRODUCT SET name=:name, price=:price, sales=:sales WHERE id=:id');
$stmt->bindParam(':id', $product['id']);
$stmt->bindParam(':name', $product['name']);
$stmt->bindParam(':price', $product['price']);
$stmt->bindParam(':sales', $product['sales']);
return $stmt->execute();
}
public function delete($id){
$stmt = $this->db->prepare('DELETE FROM PRODUCT WHERE id = :id');
$stmt->bindParam(':id', $id);
return $stmt->execute();
}
}
?>

上面代碼是一些示例操作,包括獲取全部數(shù)據(jù)、獲取單條數(shù)據(jù)、新增數(shù)據(jù)、更新數(shù)據(jù)和刪除數(shù)據(jù)操作。

這就是使用PDO和DAO的基礎(chǔ)介紹,它是開發(fā)PHP應用程序的一種靈活、穩(wěn)定和高效的方式。