Subversion Repositories PHPX

Rev

Rev 41 | Rev 46 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 41 Rev 44
1
<?php
1
<?php
2
2
3
require_once __DIR__ . '/Database.php';
3
require_once __DIR__ . '/Database.php';
4
4
5
class MySQLDB extends Database
5
class MySQLDB extends Database
6
{
6
{
7
  /**
7
  /**
8
   * Database host
8
   * Database host
9
   * @var string
9
   * @var string
10
   */
10
   */
11
  protected $_host;
11
  protected $_host;
12
12
13
  /**
13
  /**
14
  * Database name
14
  * Database name
15
  * @var string
15
  * @var string
16
  */
16
  */
17
  protected $_dbname;
17
  protected $_dbname;
18
18
19
  /**
19
  /**
20
   * Username to access the database
20
   * Username to access the database
21
   * @var string
21
   * @var string
22
   */
22
   */
23
  protected $_username;
23
  protected $_username;
24
24
25
  /**
25
  /**
26
   * Password to access the database
26
   * Password to access the database
27
   * @var string
27
   * @var string
28
   */
28
   */
29
  protected $_password;
29
  protected $_password;
30
30
31
  /**
31
  /**
32
   * Optional charset parameter value
32
   * Optional charset parameter value
33
   * @var string
33
   * @var string
34
   */
34
   */
35
  protected $_charset = null;
35
  protected $_charset = null;
36
36
37
  /**
37
  /**
38
   * (non-PHPdoc)
38
   * (non-PHPdoc)
39
   * @see Database::_leftQuote
39
   * @see Database::_leftQuote
40
   */
40
   */
41
    protected $_leftQuote = '`';
41
    protected $_leftQuote = '`';
42
42
43
  /**
43
  /**
44
   * (non-PHPdoc)
44
   * (non-PHPdoc)
45
   * @see Database::_rightQuote
45
   * @see Database::_rightQuote
46
   */
46
   */
47
  protected $_rightQuote = '`';
47
  protected $_rightQuote = '`';
48
48
49
  public function __construct()
49
  public function __construct()
50
  {
50
  {
51
    $this->_dsn = "mysql:host={$this->_host}"
51
    $this->_dsn = "mysql:host={$this->_host}"
52
      . (!is_null($this->_dbname) ? ";dbname={$this->_dbname}" : '')
52
      . (!is_null($this->_dbname) ? ";dbname={$this->_dbname}" : '')
53
      . (!is_null($this->_charset) ? ";charset={$this->_charset}" : '');
53
      . (!is_null($this->_charset) ? ";charset={$this->_charset}" : '');
54
54
55
    if (!is_null($this->_charset))
55
    if (!is_null($this->_charset))
56
    {
56
    {
57
      $this->_options[PDO::MYSQL_ATTR_INIT_COMMAND] = "SET NAMES " . $this->_charset;
57
      $this->_options[PDO::MYSQL_ATTR_INIT_COMMAND] = "SET NAMES " . $this->_charset;
58
    }
58
    }
59
59
60
    parent::__construct();
60
    parent::__construct();
61
  }
61
  }
-
 
62
-
 
63
  /**
-
 
64
   * Creates this MySQL database
-
 
65
   *
-
 
66
   * @param string $username = null
-
 
67
   * @param string $password = null
-
 
68
   * @param boolean $force = false
-
 
69
   * @see Database::create()
-
 
70
   */
-
 
71
  public function create ($username = null, $password = null, $force = false)
-
 
72
  {
-
 
73
    return parent::create(
-
 
74
      "mysql:host={$this->_host}"
-
 
75
      . (!is_null($this->_charset) ? ";charset={$this->_charset}" : ''),
-
 
76
      $username, $password, null, $force);
-
 
77
  }
62
}
78
}
63
79