Rev 29 | Go to most recent revision | Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
27 | PointedEar | 1 | <?php |
2 | |||
3 | require_once 'lib/Db/Database.php'; |
||
4 | |||
5 | class MySQLDB extends Database |
||
6 | { |
||
7 | /** |
||
8 | * Database host |
||
9 | * @var string |
||
10 | */ |
||
11 | protected $_host; |
||
12 | |||
13 | /** |
||
14 | * Database name |
||
15 | * @var string |
||
16 | */ |
||
17 | protected $_dbname; |
||
18 | |||
19 | /** |
||
20 | * Username to access the database |
||
21 | * @var string |
||
22 | */ |
||
23 | protected $_username; |
||
24 | |||
25 | /** |
||
26 | * Password to access the database |
||
27 | * @var string |
||
28 | */ |
||
29 | protected $_password; |
||
30 | |||
31 | /* |
||
32 | * Optional charset parameter value |
||
33 | */ |
||
34 | protected $_charset = null; |
||
35 | |||
36 | public function __construct() |
||
37 | { |
||
38 | $this->_dsn = "mysql:host={$this->_host}" |
||
39 | . (!is_null($this->_dbname) ? ";dbname={$this->_dbname}" : '') |
||
40 | . (!is_null($this->_charset) ? ";charset={$this->_charset}" : ''); |
||
41 | |||
42 | if (!is_null($this->_charset)) |
||
43 | { |
||
44 | $this->_options[PDO::MYSQL_ATTR_INIT_COMMAND] = "SET NAMES " . $this->_charset; |
||
45 | } |
||
46 | |||
47 | parent::__construct(); |
||
48 | } |
||
49 | |||
50 | /** |
||
51 | * Escapes a database name so that it can be used in a query. |
||
52 | * |
||
53 | * @param string $name |
||
54 | * The name to be escaped |
||
55 | * @return string |
||
56 | * The escaped name |
||
57 | */ |
||
58 | public function escapeName($name) |
||
59 | { |
||
60 | return '`' . $name . '`'; |
||
61 | } |
||
62 | |||
63 | /** |
||
64 | * (non-PHPdoc) |
||
65 | * @see Database::_escapeAliasArray() |
||
66 | */ |
||
67 | protected function _escapeAliasArray(array &$array) |
||
68 | { |
||
69 | foreach ($array as $column => &$value) |
||
70 | { |
||
71 | $value = $value . ' AS `' . $column . '`'; |
||
72 | } |
||
73 | |||
74 | return $array; |
||
75 | } |
||
76 | |||
77 | /** |
||
78 | * (non-PHPdoc) |
||
79 | * @see Database::_escapeValueArray() |
||
80 | */ |
||
81 | protected function _escapeValueArray(array &$array, $suffix = '', array &$escape = array('`', '`')) |
||
82 | { |
||
83 | return parent::_escapeValueArray($array, $suffix, $escape); |
||
84 | } |
||
85 | } |