• Main Page
  • Data Structures
  • Files
  • File List

sqliteResultset.php

Go to the documentation of this file.
00001 <?php
00002 
00003 /**
00004  * SQLite 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: sqliteResultset.php,v 1.5 2008-01-27 12:48:09-05 mt_jordan Exp $
00013  */
00014 
00015 class sqliteResultset
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 sqlite_changes( $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 = sqlite_fetch_array( $this->objResult, SQLITE_ASSOC );
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 sqlite_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 = sqlite_fetch_array( $this->objResult, SQLITE_NUM );
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         if ( $this->objResult )
00128         {
00129             if ( get_magic_quotes_runtime() )
00130                 return stripslashes( $this->objRecord[$field] );
00131             else
00132                 return $this->objRecord[$field];
00133         }
00134     }
00135 
00136     /**
00137      * Free resultset memory - destroy resultset object
00138      *
00139      * @access public
00140      */
00141     public function flush()
00142     {
00143         if ( $this->objResult )
00144         {
00145             unset( $this->objConnection );
00146             $this->objRecord = array();
00147             $this->objResult = null;
00148         }
00149     }
00150 
00151     /**
00152      * Return num fields from select query
00153      *
00154      * @access public
00155      * @return int
00156      */
00157     public function num_fields()
00158     {
00159         if ( $this->objResult )
00160             return sqlite_num_fields( $this->objResult );
00161     }
00162 
00163     /**
00164      * Return num rows from select query
00165      *
00166      * @access public
00167      * @return int
00168      */
00169     public function num_rows()
00170     {
00171         if ( $this->objResult )
00172             return sqlite_num_rows( $this->objResult );
00173     }
00174 
00175     /**
00176      * Return resultset object
00177      *
00178      * @access public
00179      * @return mixed
00180      */
00181     public function result()
00182     {
00183         return $this->objResult;
00184     }
00185 }
00186 
00187 ?>

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