我是新來的類和PDO。我想寫具有獨立功能的一類用於連接到數據庫和關閉,這樣的連接,在一個頁面中,我可以:檢索頁面內部的連接:PDO和PHP類
- 打開與
$db->connOpen
- 連接執行所有查詢我需要的頁面
內關閉在腳本的末尾用
$db->connClose
class database { private $host = ''; private $db_name = ''; private $charset = ''; private $username = ''; private $password = ''; public function setHost($host) { $this->host = $host; } public function setDbName($db_name) { $this->db_name = $db_name; } public function setUser($username, $password) { $this->username = $username; $this->password = $password; } public function connOpen() { try { $dsn = "mysql:host=$this->host;dbname=$this->db_name;charset=$this->charset"; $db = new PDO($dsn, $this->username, $this->password, array(PDO::ATTR_PERSISTENT => true)); $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch (PDOException $e) { echo $e->getMessage(); } } public function connClose() { $db = null; } }
我猜的連接問題在於更多的類語法比PDO,因爲要發出一個像下面這樣的查詢到頁面,我需要再次實例化類PDO
,加倍連接到數據庫。
$stmt = $dbo->prepare('SELECT * FROM products WHERE id=:id');
$stmt->execute(array(':id' => $id));
$res = $stmt->fetchAll(PDO::FETCH_ASSOC);
我的問題是:
- 如何能實現我想用一個類像上面的是什麼?
- 這是正確的,在這種情況下,使用持續連接?
感謝
這裏的問題在於,你的類本質上是無用的。不要爲了它而編寫類。寫一個只能做一些有用的課程。 –