diff --git a/libs/dbo/dbo_sqlite.php b/libs/dbo/dbo_sqlite.php index 976f0d40e..18e49df79 100644 --- a/libs/dbo/dbo_sqlite.php +++ b/libs/dbo/dbo_sqlite.php @@ -14,94 +14,98 @@ ////////////////////////////////////////////////////////////////////////// /** - * SQLite layer for DBO - * - * @filesource - * @author Cake Authors/Developers - * @copyright Copyright (c) 2005, Cake Authors/Developers - * @link https://developers.nextco.com/cake/wiki/Authors Authors/Developers - * @package cake - * @subpackage cake.libs - * @since Cake v 0.9.0 - * @version $Revision$ - * @modifiedby $LastChangedBy$ - * @lastmodified $Date$ - * @license http://www.opensource.org/licenses/mit-license.php The MIT License - */ + * SQLite layer for DBO + * + * @filesource + * @author Cake Authors/Developers + * @copyright Copyright (c) 2005, Cake Authors/Developers + * @link https://developers.nextco.com/cake/wiki/Authors Authors/Developers + * @package cake + * @subpackage cake.libs + * @since Cake v 0.9.0 + * @version $Revision$ + * @modifiedby $LastChangedBy$ + * @lastmodified $Date$ + * @license http://www.opensource.org/licenses/mit-license.php The MIT License + */ /** - * Include DBO. - */ + * Include DBO. + */ uses('dbo'); /** - * SQLite layer for DBO. - * - * @package cake - * @subpackage cake.libs - * @since Cake v 0.9.0 - */ + * SQLite layer for DBO. + * + * @package cake + * @subpackage cake.libs + * @since Cake v 0.9.0 + */ class DBO_SQLite extends DBO { -/** - * Connects to the database using config['host'] as a filename. - * - * @param array $config Configuration array for connecting - * @return mixed - */ - function connect ($config) + /** + * Connects to the database using config['file'] as a filename. + * + * @param array $config Configuration array for connecting + * @return mixed + */ + function connect($config) { if ($config) { $this->config = $config; - $this->_conn = sqlite_open($config['host']); + $this->_conn = sqlite_open($config['file']); } $this->connected = $this->_conn? true: false; if($this->connected) + { return $this->_conn; + } else + { die('Could not connect to DB.'); + } } -/** - * Disconnects from database. - * - * @return boolean True if the database could be disconnected, else false - */ - function disconnect () + /** + * Disconnects from database. + * + * @return boolean True if the database could be disconnected, else false + */ + function disconnect() { return sqlite_close($this->_conn); } -/** - * Executes given SQL statement. - * - * @param string $sql SQL statement - * @return resource Result resource identifier - */ - function execute ($sql) + /** + * Executes given SQL statement. + * + * @param string $sql SQL statement + * @return resource Result resource identifier + */ + function execute($sql) { return sqlite_query($this->_conn, $sql); } -/** - * Returns a row from given resultset as an array . - * - * @return array The fetched row as an array - */ - function fetchRow () + /** + * Returns a row from given resultset as an array . + * + * @return array The fetched row as an array + */ + function fetchRow() { return sqlite_fetch_array($this->_result); } -/** - * Returns an array of tables in the database. If there are no tables, an error is raised and the application exits. - * - * @return array Array of tablenames in the database - */ - function tablesList () + /** + * Returns an array of tables in the database. If there are no tables, an error is raised and the application exits. + * + * @return array Array of tablenames in the database + */ + function tablesList() { $result = sqlite_query($this->_conn, "SELECT name FROM sqlite_master WHERE type='table' ORDER BY name;"); @@ -120,72 +124,74 @@ class DBO_SQLite extends DBO return $tables; } } - -/** - * Returns an array of the fields in given table name. - * - * @param string $table_name Name of database table to inspect - * @return array Fields in table. Keys are name and type - */ - function fields ($table_name) + + /** + * Returns an array of the fields in given table name. + * + * @param string $table_name Name of database table to inspect + * @return array Fields in table. Keys are name and type + */ + function fields($table_name) { $fields = false; $cols = sqlite_fetch_column_types($table_name, $this->_conn, SQLITE_ASSOC); foreach ($cols as $column => $type) + { $fields[] = array('name'=>$column, 'type'=>$type); + } return $fields; } -/** - * Returns a quoted and escaped string of $data for use in an SQL statement. - * - * @param string $data String to be prepared for use in an SQL statement - * @return string Quoted and escaped - */ - function prepareValue ($data) + /** + * Returns a quoted and escaped string of $data for use in an SQL statement. + * + * @param string $data String to be prepared for use in an SQL statement + * @return string Quoted and escaped + */ + function prepareValue($data) { return "'".sqlite_escape_string($data)."'"; } -/** - * Returns a formatted error message from previous database operation. - * - * @return string Error message - */ - function lastError () + /** + * Returns a formatted error message from previous database operation. + * + * @return string Error message + */ + function lastError() { return sqlite_last_error($this->_conn)? sqlite_last_error($this->_conn).': '.sqlite_error_string(sqlite_last_error($this->_conn)): null; } -/** - * Returns number of affected rows in previous database operation. If no previous operation exists, this returns false. - * - * @return int Number of affected rows - */ - function lastAffected () + /** + * Returns number of affected rows in previous database operation. If no previous operation exists, this returns false. + * + * @return int Number of affected rows + */ + function lastAffected() { return $this->_result? sqlite_changes($this->_conn): false; } -/** - * Returns number of rows in previous resultset. If no previous resultset exists, - * this returns false. - * - * @return int Number of rows in resultset - */ - function lastNumRows () + /** + * Returns number of rows in previous resultset. If no previous resultset exists, + * this returns false. + * + * @return int Number of rows in resultset + */ + function lastNumRows() { return $this->_result? sqlite_num_rows($this->_result): false; } -/** - * Returns the ID generated from the previous INSERT operation. - * - * @return int - */ - function lastInsertId () + /** + * Returns the ID generated from the previous INSERT operation. + * + * @return int + */ + function lastInsertId() { return sqlite_last_insert_rowid($this->_conn); } @@ -197,7 +203,7 @@ class DBO_SQLite extends DBO * @param int $offset Offset from which to start results * @return string SQL limit/offset statement */ - function selectLimit ($limit, $offset=null) + function selectLimit($limit, $offset=null) { // :TODO: Please verify this with SQLite, untested. return " LIMIT {$limit}".($offset? " OFFSET {$offset}": null);