CodeIgniter installed
[living-lab-site.git] / system / database / drivers / sqlite / sqlite_result.php
diff --git a/system/database/drivers/sqlite/sqlite_result.php b/system/database/drivers/sqlite/sqlite_result.php
new file mode 100755 (executable)
index 0000000..7bd30db
--- /dev/null
@@ -0,0 +1,179 @@
+<?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
+ * @author             ExpressionEngine Dev Team
+ * @copyright  Copyright (c) 2008 - 2011, EllisLab, Inc.
+ * @license            http://codeigniter.com/user_guide/license.html
+ * @link               http://codeigniter.com
+ * @since              Version 1.0
+ * @filesource
+ */
+
+// ------------------------------------------------------------------------
+
+/**
+ * SQLite 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_sqlite_result extends CI_DB_result {
+
+       /**
+        * Number of rows in the result set
+        *
+        * @access      public
+        * @return      integer
+        */
+       function num_rows()
+       {
+               return @sqlite_num_rows($this->result_id);
+       }
+
+       // --------------------------------------------------------------------
+
+       /**
+        * Number of fields in the result set
+        *
+        * @access      public
+        * @return      integer
+        */
+       function num_fields()
+       {
+               return @sqlite_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[] = sqlite_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                = sqlite_field_name($this->result_id, $i);
+                       $F->type                = 'varchar';
+                       $F->max_length  = 0;
+                       $F->primary_key = 0;
+                       $F->default             = '';
+
+                       $retval[] = $F;
+               }
+
+               return $retval;
+       }
+
+       // --------------------------------------------------------------------
+
+       /**
+        * Free the result
+        *
+        * @return      null
+        */
+       function free_result()
+       {
+               // Not implemented in SQLite
+       }
+
+       // --------------------------------------------------------------------
+
+       /**
+        * 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 sqlite_seek($this->result_id, $n);
+       }
+
+       // --------------------------------------------------------------------
+
+       /**
+        * Result - associative array
+        *
+        * Returns the result set as an array
+        *
+        * @access      private
+        * @return      array
+        */
+       function _fetch_assoc()
+       {
+               return sqlite_fetch_array($this->result_id);
+       }
+
+       // --------------------------------------------------------------------
+
+       /**
+        * Result - object
+        *
+        * Returns the result set as an object
+        *
+        * @access      private
+        * @return      object
+        */
+       function _fetch_object()
+       {
+               if (function_exists('sqlite_fetch_object'))
+               {
+                       return sqlite_fetch_object($this->result_id);
+               }
+               else
+               {
+                       $arr = sqlite_fetch_array($this->result_id, SQLITE_ASSOC);
+                       if (is_array($arr))
+                       {
+                               $obj = (object) $arr;
+                               return $obj;
+                       } else {
+                               return NULL;
+                       }
+               }
+       }
+
+}
+
+
+/* End of file sqlite_result.php */
+/* Location: ./system/database/drivers/sqlite/sqlite_result.php */
\ No newline at end of file