Blame | Last modification | View Log | RSS feed
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');/*** CodeIgniter** An open source application development framework for PHP 5.1.6 or newer** @package CodeIgniter* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.* @license http://codeigniter.com/user_guide/license.html* @author EllisLab Dev Team* @link http://codeigniter.com* @since Version 2.1.2* @filesource*/// ------------------------------------------------------------------------/*** PDO Result Class** This class extends the parent result class: CI_DB_result** @category Database* @author EllisLab Dev Team* @link http://codeigniter.com/user_guide/database/*/class CI_DB_pdo_result extends CI_DB_result {public $num_rows;/*** Number of rows in the result set** @return int*/public function num_rows(){if (is_int($this->num_rows)){return $this->num_rows;}elseif (($this->num_rows = $this->result_id->rowCount()) > 0){return $this->num_rows;}$this->num_rows = count($this->result_id->fetchAll());$this->result_id->execute();return $this->num_rows;}// --------------------------------------------------------------------/*** Number of fields in the result set** @access public* @return integer*/function num_fields(){return $this->result_id->columnCount();}// --------------------------------------------------------------------/*** Fetch Field Names** Generates an array of column names** @access public* @return array*/function list_fields(){if ($this->db->db_debug){return $this->db->display_error('db_unsuported_feature');}return FALSE;}// --------------------------------------------------------------------/*** Field data** Generates an array of objects containing field meta-data** @access public* @return array*/function field_data(){$data = array();try{for($i = 0; $i < $this->num_fields(); $i++){$data[] = $this->result_id->getColumnMeta($i);}return $data;}catch (Exception $e){if ($this->db->db_debug){return $this->db->display_error('db_unsuported_feature');}return FALSE;}}// --------------------------------------------------------------------/*** Free the result** @return null*/function free_result(){if (is_object($this->result_id)){$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** @access private* @return array*/function _data_seek($n = 0){return FALSE;}// --------------------------------------------------------------------/*** Result - associative array** Returns the result set as an array** @access private* @return array*/function _fetch_assoc(){return $this->result_id->fetch(PDO::FETCH_ASSOC);}// --------------------------------------------------------------------/*** Result - object** Returns the result set as an object** @access private* @return object*/function _fetch_object(){return $this->result_id->fetchObject();}}/* End of file pdo_result.php *//* Location: ./system/database/drivers/pdo/pdo_result.php */