Rev 33 | Rev 41 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 33 | Rev 34 | ||
---|---|---|---|
Line 93... | Line 93... | ||
93 | * depending on the underlying driver. May not be supported by all databases.
|
93 | * depending on the underlying driver. May not be supported by all databases.
|
94 | * @var string
|
94 | * @var string
|
95 | */
|
95 | */
|
96 | protected $_lastInsertId = ''; |
96 | protected $_lastInsertId = ''; |
97 | 97 | ||
- | 98 | /**
|
|
- | 99 | * Creates a new <code>Database</code> instance.
|
|
- | 100 | *
|
|
- | 101 | * Each of the parameters is optional and can also be given
|
|
- | 102 | * by a protected property where the parameter name is preceded
|
|
- | 103 | * by <code>_</code>. Parameter values overwrite the default
|
|
- | 104 | * property values. It is recommended to use default property
|
|
- | 105 | * values of inheriting classes except for small applications
|
|
- | 106 | * and testing purposes.
|
|
- | 107 | *
|
|
- | 108 | * @param string $dsn
|
|
- | 109 | * @param string $username
|
|
- | 110 | * @param string $password
|
|
- | 111 | * @param mixed $options
|
|
- | 112 | */
|
|
98 | public function __construct() |
113 | public function __construct($dsn = '', $username = null, |
- | 114 | $password = null, array $options = array()) |
|
99 | {
|
115 | {
|
- | 116 | if ($dsn !== '') |
|
- | 117 | {
|
|
- | 118 | $this->_dsn = $dsn; |
|
- | 119 | }
|
|
- | 120 | ||
- | 121 | if ($username !== null) |
|
- | 122 | {
|
|
- | 123 | $this->_username = $username; |
|
- | 124 | }
|
|
- | 125 | ||
- | 126 | if ($password !== null) |
|
- | 127 | {
|
|
- | 128 | $this->_password = $password; |
|
- | 129 | }
|
|
- | 130 | ||
- | 131 | if ($options) |
|
- | 132 | {
|
|
- | 133 | $this->_options = $options; |
|
- | 134 | }
|
|
- | 135 | ||
100 | $this->_connection = |
136 | $this->_connection = |
101 | new PDO($this->_dsn, $this->_username, $this->_password, $this->_options); |
137 | new PDO($this->_dsn, $this->_username, $this->_password, $this->_options); |
102 | }
|
138 | }
|
103 | 139 | ||
104 | /**
|
140 | /**
|
Line 386... | Line 422... | ||
386 | 422 | ||
387 | $params = array(); |
423 | $params = array(); |
388 | 424 | ||
389 | if (is_array($where) && $this->_isAssociativeArray($where)) |
425 | if (is_array($where) && $this->_isAssociativeArray($where)) |
390 | {
|
426 | {
|
- | 427 | /* FIXME: Export and reuse this */
|
|
391 | foreach ($where as $column => $condition) |
428 | foreach ($where as $column => $condition) |
392 | {
|
429 | {
|
- | 430 | /* TODO: Also handle function calls as keys */
|
|
393 | if (is_array($condition) && $this->_isAssociativeArray($condition)) |
431 | if (is_array($condition) && $this->_isAssociativeArray($condition)) |
394 | {
|
432 | {
|
395 | reset($condition); |
433 | reset($condition); |
396 | $condition = $condition[key($condition)]; |
434 | $condition = $condition[key($condition)]; |
397 | 435 |