• Main Page
  • Data Structures
  • Files
  • File List

ingresResultset.php

Go to the documentation of this file.
00001 <?php
00002 
00003 /**
00004  * Ingres 2006 query resultset class
00005  *
00006  * @package objSQL
00007  * @version 2.1.0
00008  * @author MT Jordan <mtjo62@gmail.com>
00009  * @link http://objsql.sourceforge.net
00010  * @copyright 2004-2010 openSource Partners
00011  * @license LGPL
00012  * @revision $Id: ingresResultset.php,v 1.7 2008-01-27 12:48:41-05 mt_jordan Exp $
00013  */
00014 
00015 class ingresResultset
00016 {
00017     /**********************************************
00018      * Internal variables
00019      *********************************************/
00020 
00021    /**
00022      * Database connection object
00023      *
00024      * @access private
00025      * @var    mixed
00026      */
00027     private $objConnection;
00028 
00029     /**
00030      * Query record
00031      *
00032      * @access private
00033      * @var    array
00034      */
00035     private $objRecord = array();
00036 
00037     /**
00038      * Query resultset object
00039      *
00040      * @access private
00041      * @var    mixed
00042      */
00043     private $objResult;
00044 
00045     /**********************************************
00046      * Class methods
00047      *********************************************/
00048 
00049     /**
00050      * Constructor
00051      *
00052      * @access public
00053      * @param  mixed $result
00054      * @param  mixed $connection
00055      */
00056     public function __construct( $result, $connection )
00057     {
00058         $this->objConnection = $connection;
00059         $this->objResult     = $result;
00060     }
00061 
00062     /**
00063      * Return num of affected rows from insert/delete/update query
00064      *
00065      * @access public
00066      * @return int
00067      */
00068     public function affected_rows()
00069     {
00070         if ( $this->objResult )
00071             return ingres_num_rows( $this->objConnection );
00072     }
00073 
00074     /**
00075      * Return resultset as assoc array
00076      *
00077      * @access public
00078      * @return mixed
00079      */
00080     public function fetch_array()
00081     {
00082         if ( $this->objResult )
00083         {
00084             $this->objRecord = ingres_fetch_array( $this->objResult );
00085 
00086             return ( $this->objRecord != false );
00087         }
00088     }
00089 
00090     /**
00091      * Return resultset as object
00092      *
00093      * @access public
00094      * @return mixed
00095      */
00096     public function fetch_object()
00097     {
00098         if ( $this->objResult )
00099             return ingres_fetch_object( $this->objResult );
00100     }
00101 
00102     /**
00103      * Return resultset as numeric array
00104      *
00105      * @access public
00106      * @return mixed
00107      */
00108     public function fetch_row()
00109     {
00110         if ( $this->objResult )
00111         {
00112             $this->objRecord = ingres_fetch_row();
00113 
00114             return ( $this->objRecord != false );
00115         }
00116     }
00117 
00118     /**
00119      * Return record from select query
00120      *
00121      * @access public
00122      * @param  mixed $field
00123      * @return mixed
00124      */
00125     public function field( $field )
00126     {
00127         //Ingres returns an array offset starting with 1 instead of 0 when using ingres_fetch_row
00128         //We need to increment the field() offset by 1 for consistency
00129         if ( is_int( $field ) && $field >= 0 )
00130             $field++;
00131 
00132         if ( $this->objResult )
00133         {
00134             if ( get_magic_quotes_runtime() )
00135                 return stripslashes( $this->objRecord[$field] );
00136             else
00137                 return $this->objRecord[$field];
00138         }
00139     }
00140 
00141     /**
00142      * Free resultset memory - destroy resultset object
00143      *
00144      * @access public
00145      */
00146     public function flush()
00147     {
00148         if ( $this->objResult )
00149         {
00150             $this->objRecord = array();
00151             $this->objResult = null;
00152         }
00153     }
00154 
00155     /**
00156      * Return num fields from select query
00157      *
00158      * @access public
00159      * @return int
00160      */
00161     public function num_fields()
00162     {
00163         if ( $this->objResult )
00164             return ingres_num_fields( $this->objConnection );
00165     }
00166 
00167     /**
00168      * Return num rows from select query
00169      *
00170      * @access public
00171      * @return int
00172      */
00173     public function num_rows()
00174     {
00175         if ( $this->objResult )
00176             return ingres_num_rows( $this->objConnection );
00177     }
00178 
00179     /**
00180      * Return result resource object
00181      *
00182      * @access public
00183      * @return mixed
00184      */
00185     public function result()
00186     {
00187         return $this->objResult;
00188     }
00189 }
00190 
00191 ?>

Generated on Sat Jul 10 2010 15:14:38 for objSQL 2.1.0 by  doxygen 1.7.1