• Main Page
  • Data Structures
  • Files
  • File List

mysqlResultset.php

Go to the documentation of this file.
00001 <?php
00002 
00003 /**
00004  * MySQL 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 $: mysqlResultset.php,v 1.0 2007-08-17 22:58:42-04 mt_jordan Exp $
00013  */
00014 
00015 class mysqlResultset
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      * Constructor
00050      *
00051      * @access public
00052      * @param  mixed $result
00053      * @param  mixed $connection
00054      */
00055     public function __construct( $result, $connection )
00056     {
00057         $this->objConnection = $connection;
00058         $this->objResult     = $result;
00059     }
00060 
00061     /**
00062      * Return num of affected rows from insert/delete/update query
00063      *
00064      * @access public
00065      * @return int
00066      */
00067     public function affected_rows()
00068     {
00069         if ( $this->objResult )
00070             return mysqli_affected_rows( $this->objConnection );
00071     }
00072 
00073     /**
00074      * Return resultset as assoc array
00075      *
00076      * @access public
00077      * @return mixed
00078      */
00079     public function fetch_array()
00080     {
00081         if ( $this->objResult )
00082         {
00083             $this->objRecord = mysqli_fetch_assoc( $this->objResult );
00084 
00085             return ( $this->objRecord !== null );
00086         }
00087     }
00088 
00089     /**
00090      * Return resultset as object
00091      *
00092      * @access public
00093      * @return mixed
00094      */
00095     public function fetch_object()
00096     {
00097         if ( $this->objResult )
00098             return mysqli_fetch_object( $this->objResult );
00099     }
00100 
00101     /**
00102      * Return resultset as numeric array
00103      *
00104      * @access public
00105      * @return mixed
00106      */
00107     public function fetch_row()
00108     {
00109         if ( $this->objResult )
00110         {
00111             $this->objRecord = mysqli_fetch_row( $this->objResult );
00112 
00113             return ( $this->objRecord !== null );
00114         }
00115     }
00116 
00117     /**
00118      * Return resultset record
00119      *
00120      * @access public
00121      * @param  mixed $field
00122      * @return mixed
00123      */
00124     public function field( $field )
00125     {
00126         if ( $this->objResult )
00127         {
00128             if ( get_magic_quotes_runtime() )
00129                 return stripslashes( $this->objRecord[$field] );
00130             else
00131                 return $this->objRecord[$field];
00132         }
00133     }
00134 
00135     /**
00136      * Free resultset memory - destroy resultset object
00137      *
00138      * @access public
00139      */
00140     public function flush()
00141     {
00142         if ( $this->objResult )
00143         {
00144             mysqli_free_result( $this->objResult );
00145             $this->objRecord = array();
00146             $this->objResult = null;
00147         }
00148     }
00149 
00150     /**
00151      * Returns num fields from select query
00152      *
00153      * @access public
00154      * @return int
00155      */
00156     public function num_fields()
00157     {
00158         if ( $this->objResult )
00159             return mysqli_num_fields( $this->objResult );
00160     }
00161 
00162     /**
00163      * Returns num rows from select query
00164      *
00165      * @access public
00166      * @return int
00167      */
00168     public function num_rows()
00169     {
00170         if ( $this->objResult )
00171             return mysqli_num_rows( $this->objResult );
00172     }
00173 
00174     /**
00175      * Return resultset object
00176      *
00177      * @access public
00178      * @return mixed
00179      */
00180     public function result()
00181     {
00182         return $this->objResult;
00183     }
00184 }
00185 
00186 ?>

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