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 4.3.2 or newer** @package CodeIgniter* @author ExpressionEngine Dev Team* @copyright Copyright (c) 2008, EllisLab, Inc.* @license http://codeigniter.com/user_guide/license.html* @link http://codeigniter.com* @since Version 1.0* @filesource*/// ------------------------------------------------------------------------/*** ODBC Result Class** This class extends the parent result class: CI_DB_result** @category Database* @author ExpressionEngine Dev Team* @link http://codeigniter.com/user_guide/database/*/class CI_DB_odbc_result extends CI_DB_result {/*** Number of rows in the result set** @access public* @return integer*/function num_rows(){return @odbc_num_rows($this->result_id);}// --------------------------------------------------------------------/*** Number of fields in the result set** @access public* @return integer*/function num_fields(){return @odbc_num_fields($this->result_id);}// --------------------------------------------------------------------/*** Fetch Field Names** Generates an array of column names** @access public* @return array*/function list_fields(){$field_names = array();for ($i = 0; $i < $this->num_fields(); $i++){$field_names[] = odbc_field_name($this->result_id, $i);}return $field_names;}// --------------------------------------------------------------------/*** Field data** Generates an array of objects containing field meta-data** @access public* @return array*/function field_data(){$retval = array();for ($i = 0; $i < $this->num_fields(); $i++){$F = new stdClass();$F->name = odbc_field_name($this->result_id, $i);$F->type = odbc_field_type($this->result_id, $i);$F->max_length = odbc_field_len($this->result_id, $i);$F->primary_key = 0;$F->default = '';$retval[] = $F;}return $retval;}// --------------------------------------------------------------------/*** Free the result** @return null*/function free_result(){if (is_resource($this->result_id)){odbc_free_result($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(){if (function_exists('odbc_fetch_object')){return odbc_fetch_array($this->result_id);}else{return $this->_odbc_fetch_array($this->result_id);}}// --------------------------------------------------------------------/*** Result - object** Returns the result set as an object** @access private* @return object*/function _fetch_object(){if (function_exists('odbc_fetch_object')){return odbc_fetch_object($this->result_id);}else{return $this->_odbc_fetch_object($this->result_id);}}/*** Result - object** subsititutes the odbc_fetch_object function when* not available (odbc_fetch_object requires unixODBC)** @access private* @return object*/function _odbc_fetch_object(& $odbc_result) {$rs = array();$rs_obj = false;if (odbc_fetch_into($odbc_result, $rs)) {foreach ($rs as $k=>$v) {$field_name= odbc_field_name($odbc_result, $k+1);$rs_obj->$field_name = $v;}}return $rs_obj;}/*** Result - array** subsititutes the odbc_fetch_array function when* not available (odbc_fetch_array requires unixODBC)** @access private* @return array*/function _odbc_fetch_array(& $odbc_result) {$rs = array();$rs_assoc = false;if (odbc_fetch_into($odbc_result, $rs)) {$rs_assoc=array();foreach ($rs as $k=>$v) {$field_name= odbc_field_name($odbc_result, $k+1);$rs_assoc[$field_name] = $v;}}return $rs_assoc;}}/* End of file odbc_result.php *//* Location: ./system/database/drivers/odbc/odbc_result.php */