| ################################## |
| Database Quick Start: Example Code |
| ################################## |
| |
| The following page contains example code showing how the database class |
| is used. For complete details please read the individual pages |
| describing each function. |
| |
| Initializing the Database Class |
| =============================== |
| |
| The following code loads and initializes the database class based on |
| your :doc:`configuration <configuration>` settings:: |
| |
| $this->load->database(); |
| |
| Once loaded the class is ready to be used as described below. |
| |
| Note: If all your pages require database access you can connect |
| automatically. See the :doc:`connecting <connecting>` page for details. |
| |
| Standard Query With Multiple Results (Object Version) |
| ===================================================== |
| |
| :: |
| |
| $query = $this->db->query('SELECT name, title, email FROM my_table'); foreach ($query->result() as $row) { echo $row->title; echo $row->name; echo $row->email; } echo 'Total Results: ' . $query->num_rows(); |
| |
| The above result() function returns an array of **objects**. Example: |
| $row->title |
| |
| Standard Query With Multiple Results (Array Version) |
| ==================================================== |
| |
| :: |
| |
| $query = $this->db->query('SELECT name, title, email FROM my_table'); foreach ($query->result_array() as $row) { echo $row['title']; echo $row['name']; echo $row['email']; } |
| |
| The above result_array() function returns an array of standard array |
| indexes. Example: $row['title'] |
| |
| Testing for Results |
| =================== |
| |
| If you run queries that might **not** produce a result, you are |
| encouraged to test for a result first using the num_rows() function:: |
| |
| $query = $this->db->query("YOUR QUERY"); if ($query->num_rows() > 0) { foreach ($query->result() as $row) { echo $row->title; echo $row->name; echo $row->body; } } |
| |
| Standard Query With Single Result |
| ================================= |
| |
| :: |
| |
| $query = $this->db->query('SELECT name FROM my_table LIMIT 1'); $row = $query->row(); echo $row->name; |
| |
| The above row() function returns an **object**. Example: $row->name |
| |
| Standard Query With Single Result (Array version) |
| ================================================= |
| |
| :: |
| |
| $query = $this->db->query('SELECT name FROM my_table LIMIT 1'); $row = $query->row_array(); echo $row['name']; |
| |
| The above row_array() function returns an **array**. Example: |
| $row['name'] |
| |
| Standard Insert |
| =============== |
| |
| :: |
| |
| $sql = "INSERT INTO mytable (title, name) VALUES (".$this->db->escape($title).", ".$this->db->escape($name).")"; $this->db->query($sql); echo $this->db->affected_rows(); |
| |
| Active Record Query |
| =================== |
| |
| The :doc:`Active Record Pattern <active_record>` gives you a simplified |
| means of retrieving data:: |
| |
| $query = $this->db->get('table_name'); foreach ($query->result() as $row) { echo $row->title; } |
| |
| The above get() function retrieves all the results from the supplied |
| table. The :doc:`Active Record <active_record>` class contains a full |
| compliment of functions for working with data. |
| |
| Active Record Insert |
| ==================== |
| |
| :: |
| |
| $data = array( 'title' => $title, 'name' => $name, 'date' => $date ); $this->db->insert('mytable', $data); // Produces: INSERT INTO mytable (title, name, date) VALUES ('{$title}', '{$name}', '{$date}') |
| |