Repository navigation
Expand file tree
/
Copy pathdb.php
More file actions
61 lines (48 loc) 路 2.02 KB
/
Copy pathdb.php
File metadata and controls
61 lines (48 loc) 路 2.02 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
<?php
class db {
private $dbName;
private $dbHost;
private $dbUser;
private $dbPass;
private $connectLink = null;
private static $instance; // 褝泻蟹械屑锌谢褟褉邪 芯斜褗械泻褌邪
private function __construct(){} // 袟邪褖懈褖邪械屑 芯褌 褋芯蟹写邪薪懈褟 褔械褉械蟹 new Singleton
private function __clone() {} // 袟邪褖懈褖邪械屑 芯褌 褋芯蟹写邪薪懈褟 褔械褉械蟹 泻谢芯薪懈褉芯胁邪薪懈械
private function __wakeup() {} // 袟邪褖懈褖邪械屑 芯褌 褋芯蟹写邪薪懈褟 褔械褉械蟹 unserialize
public static function getInstance() { // 袙芯蟹胁褉邪褖邪械褌 械写懈薪褋褌胁械薪薪褘泄 褝泻蟹械屑锌谢褟褉 泻谢邪褋褋邪. @return Singleton
if (empty(self::$instance)) {
require_once('config.php');
self::$instance = new self();
self::$instance -> dbName = $db['name'];
self::$instance -> dbHost = $db['host'];
self::$instance -> dbUser = $db['user'];
self::$instance -> dbPass = $db['pass'];
}
return self::$instance;
}
//袙褘锌芯谢薪褟械屑 蟹邪锌褉芯褋褘
public function query($qString, $qParams = null) {
$stmt = $this -> connectLink -> prepare($qString);
$stmt -> execute($qParams);
return $stmt;
}
//小芯械写懈薪褟械屑褋褟 褋 斜邪蟹芯泄
public function openConnection() {
try {
$this -> connectLink = new PDO('mysql:host='.$this -> dbHost.';dbname='.$this -> dbName.';charset=utf8', $this -> dbUser, $this -> dbPass);
$this -> connectLink -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
setError(DBERROR);
die();
//die('袩芯写泻谢褞褔械薪懈械 薪械 褍写邪谢芯褋褜: ' . $e -> getMessage());
}
return $this -> connectLink;
}
//袟邪泻褉褘胁邪械屑 褋芯械写懈薪械薪懈械 褋 斜邪蟹芯泄
public function closeConnection() {
if (!is_null($this -> connectLink)) {
$this -> connectLink = null;
}
}
}
?>