Rev 41 | Rev 47 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 41 | Rev 44 | ||
|---|---|---|---|
| Line 109... | Line 109... | ||
| 109 | * and testing purposes.
|
109 | * and testing purposes.
|
| 110 | *
|
110 | *
|
| 111 | * @param string $dsn
|
111 | * @param string $dsn
|
| 112 | * @param string $username
|
112 | * @param string $username
|
| 113 | * @param string $password
|
113 | * @param string $password
|
| 114 | * @param mixed $options
|
114 | * @param array $options
|
| - | 115 | * @see PDO::__construct()
|
|
| 115 | */
|
116 | */
|
| 116 | public function __construct($dsn = '', $username = null, |
117 | public function __construct ($dsn = '', $username = null, |
| 117 | $password = null, array $options = array()) |
118 | $password = null, array $options = array()) |
| 118 | {
|
119 | {
|
| 119 | if ($dsn !== '') |
120 | if ($dsn !== '') |
| 120 | {
|
121 | {
|
| 121 | $this->_dsn = $dsn; |
122 | $this->_dsn = $dsn; |
| Line 150... | Line 151... | ||
| 150 | 151 | ||
| 151 | return $this->_connection; |
152 | return $this->_connection; |
| 152 | }
|
153 | }
|
| 153 | 154 | ||
| 154 | /**
|
155 | /**
|
| - | 156 | * Creates a database according to the specified parameters
|
|
| - | 157 | *
|
|
| - | 158 | * Should be overwritten and called by inheriting classes.
|
|
| - | 159 | *
|
|
| - | 160 | * @param string $dsn
|
|
| - | 161 | * Connection DSN (required; must not include the database
|
|
| - | 162 | * name).
|
|
| - | 163 | * @param string $username = null
|
|
| - | 164 | * Connection username. The default is specified by the
|
|
| - | 165 | * <code>$_username</code> property. Note that creating
|
|
| - | 166 | * the database usually requires a user with more privileges
|
|
| - | 167 | * than the one accessing the database or its tables.
|
|
| - | 168 | * @param string $password = null
|
|
| - | 169 | * Connection password. The default is specified by the
|
|
| - | 170 | * <code>$_password</code> property.
|
|
| - | 171 | * @param array? $options = null
|
|
| - | 172 | * Connection options. The default is specified by the
|
|
| - | 173 | * <code>$_options</code> property.
|
|
| - | 174 | * @param string $spec = null
|
|
| - | 175 | * Additional database specifications, like character encoding
|
|
| - | 176 | * and collation.
|
|
| - | 177 | * @param boolean $force = false
|
|
| - | 178 | * If a true-value, the database will be attempted to be
|
|
| - | 179 | * created even if there is a database of the name specified
|
|
| - | 180 | * by the <code>$_dbname</code> property.
|
|
| - | 181 | * @return int
|
|
| - | 182 | * The number of rows affected by the CREATE DATABASE statement.
|
|
| - | 183 | * @see PDO::__construct()
|
|
| - | 184 | * @see PDO::exec()
|
|
| - | 185 | */
|
|
| - | 186 | public function create ($dsn, $username = null, $password = null, |
|
| - | 187 | array $options = null, $dbspec = null, $force = false) |
|
| - | 188 | {
|
|
| - | 189 | $connection = new PDO($dsn, |
|
| - | 190 | $username !== null ? $username : $this->_username, |
|
| - | 191 | $password !== null ? $password : $this->_password, |
|
| - | 192 | $options !== null ? $options : $this->_options); |
|
| - | 193 | ||
| - | 194 | $query = 'CREATE DATABASE' |
|
| - | 195 | . (!$force ? ' IF NOT EXISTS' : '') |
|
| - | 196 | . ' ' . $this->escapeName($this->_dbname) |
|
| - | 197 | . ($dbspec ? ' ' . $dbspec : ''); |
|
| - | 198 | ||
| - | 199 | return $connection->exec($query); |
|
| - | 200 | }
|
|
| - | 201 | ||
| - | 202 | /**
|
|
| 155 | * Initiates a transaction
|
203 | * Initiates a transaction
|
| 156 | *
|
204 | *
|
| 157 | * @return bool
|
205 | * @return bool
|
| 158 | * @see PDO::beginTransaction()
|
206 | * @see PDO::beginTransaction()
|
| 159 | */
|
207 | */
|