diff options
Diffstat (limited to 'system/database/DB_result.php')
-rw-r--r-- | system/database/DB_result.php | 203 |
1 files changed, 180 insertions, 23 deletions
diff --git a/system/database/DB_result.php b/system/database/DB_result.php index 76093f918..9d19075ba 100644 --- a/system/database/DB_result.php +++ b/system/database/DB_result.php @@ -1,4 +1,4 @@ -<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); +<?php /** * CodeIgniter * @@ -24,6 +24,7 @@ * @since Version 1.0 * @filesource */ +defined('BASEPATH') OR exit('No direct script access allowed'); /** * Database Result Class @@ -38,19 +39,68 @@ */ class CI_DB_result { + /** + * Connection ID + * + * @var resource|object + */ public $conn_id; + + /** + * Result ID + * + * @var resource|object + */ public $result_id; + + /** + * Result Array + * + * @var array[] + */ public $result_array = array(); + + /** + * Result Object + * + * @var object[] + */ public $result_object = array(); + + /** + * Custom Result Object + * + * @var object[] + */ public $custom_result_object = array(); + + /** + * Current Row index + * + * @var int + */ public $current_row = 0; + + /** + * Number of rows + * + * @var int + */ public $num_rows; + + /** + * Row data + * + * @var array + */ public $row_data; + // -------------------------------------------------------------------- + /** * Constructor * - * @param object + * @param object $driver_object * @return void */ public function __construct(&$driver_object) @@ -89,7 +139,7 @@ class CI_DB_result { /** * Query result. Acts as a wrapper function for the following functions. * - * @param string 'object', 'array' or a custom class name + * @param string $type 'object', 'array' or a custom class name * @return array */ public function result($type = 'object') @@ -113,8 +163,8 @@ class CI_DB_result { /** * Custom query result. * - * @param string A string that represents the type of object you want back - * @return array of objects + * @param string $class_name + * @return array */ public function custom_result_object($class_name) { @@ -249,10 +299,12 @@ class CI_DB_result { // -------------------------------------------------------------------- /** - * Query result. Acts as a wrapper function for the following functions. + * Row + * + * A wrapper method. * - * @param mixed $n = 0 - * @param string $type = 'object' 'object' or 'array' + * @param mixed $n + * @param string $type 'object' or 'array' * @return mixed */ public function row($n = 0, $type = 'object') @@ -339,7 +391,7 @@ class CI_DB_result { /** * Returns a single result row - object version * - * @param int $n = 0 + * @param int $n * @return object */ public function row_object($n = 0) @@ -363,7 +415,7 @@ class CI_DB_result { /** * Returns a single result row - array version * - * @param int $n = 0 + * @param int $n * @return array */ public function row_array($n = 0) @@ -387,7 +439,7 @@ class CI_DB_result { /** * Returns the "first" row * - * @param string $type = 'object' + * @param string $type * @return mixed */ public function first_row($type = 'object') @@ -401,7 +453,7 @@ class CI_DB_result { /** * Returns the "last" row * - * @param string $type = 'object' + * @param string $type * @return mixed */ public function last_row($type = 'object') @@ -415,7 +467,7 @@ class CI_DB_result { /** * Returns the "next" row * - * @param string $type = 'object' + * @param string $type * @return mixed */ public function next_row($type = 'object') @@ -439,7 +491,7 @@ class CI_DB_result { /** * Returns the "previous" row * - * @param string $type = 'object' + * @param string $type * @return mixed */ public function previous_row($type = 'object') @@ -462,7 +514,7 @@ class CI_DB_result { /** * Returns an unbuffered row and move pointer to next row * - * @param string $type = 'object' 'array', 'object' or a custom class name + * @param string $type 'array', 'object' or a custom class name * @return mixed */ public function unbuffered_row($type = 'object') @@ -482,7 +534,7 @@ class CI_DB_result { // -------------------------------------------------------------------- /** - * The following functions are normally overloaded by the identically named + * The following methods are normally overloaded by the identically named * methods in the platform-specific driver -- except when query caching * is used. When caching is enabled we do not load the other driver. * These functions are primarily here to prevent undefined function errors @@ -490,13 +542,118 @@ class CI_DB_result { * operational due to the unavailability of the database resource IDs with * cached results. */ - public function num_fields() { return 0; } - public function list_fields() { return array(); } - public function field_data() { return array(); } - public function free_result() { $this->result_id = FALSE; } - protected function _data_seek() { return FALSE; } - protected function _fetch_assoc() { return array(); } - protected function _fetch_object() { return array(); } + + // -------------------------------------------------------------------- + + /** + * Number of fields in the result set + * + * Overriden by driver result classes. + * + * @return int + */ + public function num_fields() + { + return 0; + } + + // -------------------------------------------------------------------- + + /** + * Fetch Field Names + * + * Generates an array of column names. + * + * Overriden by driver result classes. + * + * @return array + */ + public function list_fields() + { + return array(); + } + + // -------------------------------------------------------------------- + + /** + * Field data + * + * Generates an array of objects containing field meta-data. + * + * Overriden by driver result classes. + * + * @return array + */ + public function field_data() + { + return array(); + } + + // -------------------------------------------------------------------- + + /** + * Free the result + * + * Overriden by driver result classes. + * + * @return void + */ + public function free_result() + { + $this->result_id = FALSE; + } + + // -------------------------------------------------------------------- + + /** + * Data Seek + * + * Moves the internal pointer to the desired offset. We call + * this internally before fetching results to make sure the + * result set starts at zero. + * + * Overriden by driver result classes. + * + * @param int $n + * @return bool + */ + protected function _data_seek($n = 0) + { + return FALSE; + } + + // -------------------------------------------------------------------- + + /** + * Result - associative array + * + * Returns the result set as an array. + * + * Overriden by driver result classes. + * + * @return array + */ + protected function _fetch_assoc() + { + return array(); + } + + // -------------------------------------------------------------------- + + /** + * Result - object + * + * Returns the result set as an object. + * + * Overriden by driver result classes. + * + * @param string $class_name + * @return object + */ + protected function _fetch_object($class_name = 'stdClass') + { + return array(); + } } |