Subversion Repositories PHPX

Rev

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

Rev 46 Rev 47
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->readConfig();
-
 
52
       
51
    $this->_dsn = "mysql:host={$this->_host}"
53
    $this->_dsn = "mysql:host={$this->_host}"
52
      . (!is_null($this->_dbname) ? ";dbname={$this->_dbname}" : '')
54
      . (!is_null($this->_dbname) ? ";dbname={$this->_dbname}" : '')
53
      . (!is_null($this->_charset) ? ";charset={$this->_charset}" : '');
55
      . (!is_null($this->_charset) ? ";charset={$this->_charset}" : '');
54
56
55
    if (!is_null($this->_charset))
57
    if (!is_null($this->_charset))
56
    {
58
    {
57
      $this->_options[PDO::MYSQL_ATTR_INIT_COMMAND] = "SET NAMES " . $this->_charset;
59
      $this->_options[PDO::MYSQL_ATTR_INIT_COMMAND] = "SET NAMES " . $this->_charset;
58
    }
60
    }
59
61
60
    parent::__construct();
62
    parent::__construct();
61
  }
63
  }
62
64
63
  /**
65
  /**
64
   * Creates this MySQL database
66
   * Creates this MySQL database
65
   *
67
   *
66
   * @param string $dsn
68
   * @param string $dsn
67
   *   Ignored.  Required for strict compatibility only.
69
   *   Ignored.  Required for strict compatibility only.
68
   * @param string $username = null
70
   * @param string $username = null
69
   * @param string $password = null
71
   * @param string $password = null
70
   * @param array? $options = null
72
   * @param array? $options = null
71
   *   Ignored.  Required for strict compatibility only.
73
   *   Ignored.  Required for strict compatibility only.
72
   * @param string $dbspec = null
74
   * @param string $dbspec = null
73
   *   Currently ignored.
75
   *   Currently ignored.
74
   * @param boolean $force = false
76
   * @param boolean $force = false
75
   * @see Database::create()
77
   * @see Database::create()
76
   */
78
   */
77
  public function create ($dsn, $username = null, $password = null,
79
  public function create ($dsn, $username = null, $password = null,
78
    array $options = null, $dbspec = null, $force = false)
80
    array $options = null, $dbspec = null, $force = false)
79
  {
81
  {
80
    return parent::create(
82
    return parent::create(
81
      "mysql:host={$this->_host}"
83
      "mysql:host={$this->_host}"
82
      . (!is_null($this->_charset) ? ";charset={$this->_charset}" : ''),
84
      . (!is_null($this->_charset) ? ";charset={$this->_charset}" : ''),
83
      $username, $password, null, $force);
85
      $username, $password, null, $force);
84
  }
86
  }
85
}
87
}