cleaning up and formatting database pages
diff --git a/user_guide_src/source/database/caching.rst b/user_guide_src/source/database/caching.rst
index 7a195a7..d73120a 100644
--- a/user_guide_src/source/database/caching.rst
+++ b/user_guide_src/source/database/caching.rst
@@ -124,7 +124,17 @@
Manually enables/disables caching. This can be useful if you want to
keep certain queries from being cached. Example::
- // Turn caching on $this->db->cache_on(); $query = $this->db->query("SELECT * FROM mytable"); // Turn caching off for this one query $this->db->cache_off(); $query = $this->db->query("SELECT * FROM members WHERE member_id = '$current_user'"); // Turn caching back on $this->db->cache_on(); $query = $this->db->query("SELECT * FROM another_table");
+ // Turn caching on
+ $this->db->cache_on();
+ $query = $this->db->query("SELECT * FROM mytable");
+
+ // Turn caching off for this one query
+ $this->db->cache_off();
+ $query = $this->db->query("SELECT * FROM members WHERE member_id = '$current_user'");
+
+ // Turn caching back on
+ $this->db->cache_on();
+ $query = $this->db->query("SELECT * FROM another_table");
$this->db->cache_delete()
==========================
diff --git a/user_guide_src/source/database/call_function.rst b/user_guide_src/source/database/call_function.rst
index bdc5be0..9890fc4 100644
--- a/user_guide_src/source/database/call_function.rst
+++ b/user_guide_src/source/database/call_function.rst
@@ -34,5 +34,6 @@
The result ID can be accessed from within your result object, like this::
- $query = $this->db->query("SOME QUERY"); $query->result_id;
-
+ $query = $this->db->query("SOME QUERY");
+
+ $query->result_id;
\ No newline at end of file
diff --git a/user_guide_src/source/database/configuration.rst b/user_guide_src/source/database/configuration.rst
index 77b4994..c2c5a33 100644
--- a/user_guide_src/source/database/configuration.rst
+++ b/user_guide_src/source/database/configuration.rst
@@ -51,27 +51,27 @@
Explanation of Values:
----------------------
-- **hostname** - The hostname of your database server. Often this is
+- **hostname** - The hostname of your database server. Often this is
"localhost".
-- **username** - The username used to connect to the database.
-- **password** - The password used to connect to the database.
-- **database** - The name of the database you want to connect to.
-- **dbdriver** - The database type. ie: mysql, postgres, odbc, etc.
+- **username** - The username used to connect to the database.
+- **password** - The password used to connect to the database.
+- **database** - The name of the database you want to connect to.
+- **dbdriver** - The database type. ie: mysql, postgres, odbc, etc.
Must be specified in lower case.
-- **dbprefix** - An optional table prefix which will added to the table
+- **dbprefix** - An optional table prefix which will added to the table
name when running :doc:`Active Record <active_record>` queries. This
permits multiple CodeIgniter installations to share one database.
-- **pconnect** - TRUE/FALSE (boolean) - Whether to use a persistent
+- **pconnect** - TRUE/FALSE (boolean) - Whether to use a persistent
connection.
-- **db_debug** - TRUE/FALSE (boolean) - Whether database errors should
+- **db_debug** - TRUE/FALSE (boolean) - Whether database errors should
be displayed.
-- **cache_on** - TRUE/FALSE (boolean) - Whether database query caching
+- **cache_on** - TRUE/FALSE (boolean) - Whether database query caching
is enabled, see also :doc:`Database Caching Class <caching>`.
-- **cachedir** - The absolute server path to your database query cache
+- **cachedir** - The absolute server path to your database query cache
directory.
-- **char_set** - The character set used in communicating with the
+- **char_set** - The character set used in communicating with the
database.
-- **dbcollat** - The character collation used in communicating with the
+- **dbcollat** - The character collation used in communicating with the
database.
.. note:: For MySQL and MySQLi databases, this setting is only used
@@ -83,19 +83,21 @@
Sites using Latin-1 or UTF-8 database character set and collation are
unaffected.
-- **swap_pre** - A default table prefix that should be swapped with
+- **swap_pre** - A default table prefix that should be swapped with
dbprefix. This is useful for distributed applications where you might
run manually written queries, and need the prefix to still be
customizable by the end user.
-- **autoinit** - Whether or not to automatically connect to the
+- **autoinit** - Whether or not to automatically connect to the
database when the library loads. If set to false, the connection will
take place prior to executing the first query.
-- **stricton** - TRUE/FALSE (boolean) - Whether to force "Strict Mode"
+- **stricton** - TRUE/FALSE (boolean) - Whether to force "Strict Mode"
connections, good for ensuring strict SQL while developing an
application.
-- **port** - The database port number. To use this value you have to
+- **port** - The database port number. To use this value you have to
add a line to the database config
- array.::
+ array.
+
+::
$db['default']['port'] = 5432;
diff --git a/user_guide_src/source/database/connecting.rst b/user_guide_src/source/database/connecting.rst
index 6c54943..64adc30 100644
--- a/user_guide_src/source/database/connecting.rst
+++ b/user_guide_src/source/database/connecting.rst
@@ -92,19 +92,20 @@
By setting the second parameter to TRUE (boolean) the function will
return the database object.
-When you connect this way, you will use your object name to issue
-commands rather than the syntax used throughout this guide. In other
-words, rather than issuing commands with:
-
-$this->db->query();
-$this->db->result();
-etc...
-
-You will instead use:
-
-$DB1->query();
-$DB1->result();
-etc...
+.. note:: When you connect this way, you will use your object name to issue
+ commands rather than the syntax used throughout this guide. In other
+ words, rather than issuing commands with:
+
+ |
+ | $this->db->query();
+ | $this->db->result();
+ | etc...
+ |
+ | You will instead use:
+ |
+ | $DB1->query();
+ | $DB1->result();
+ | etc...
Reconnecting / Keeping the Connection Alive
===========================================
diff --git a/user_guide_src/source/database/examples.rst b/user_guide_src/source/database/examples.rst
index bd2cc4d..d1cd488 100644
--- a/user_guide_src/source/database/examples.rst
+++ b/user_guide_src/source/database/examples.rst
@@ -24,7 +24,16 @@
::
- $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();
+ $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
@@ -34,7 +43,14 @@
::
- $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']; }
+ $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']
@@ -45,14 +61,25 @@
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; } }
+ $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;
+ $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
@@ -61,7 +88,9 @@
::
- $query = $this->db->query('SELECT name FROM my_table LIMIT 1'); $row = $query->row_array(); echo $row['name'];
+ $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']
@@ -71,7 +100,9 @@
::
- $sql = "INSERT INTO mytable (title, name) VALUES (".$this->db->escape($title).", ".$this->db->escape($name).")"; $this->db->query($sql); echo $this->db->affected_rows();
+ $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
===================
@@ -79,7 +110,12 @@
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; }
+ $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
@@ -90,5 +126,11 @@
::
- $data = array( 'title' => $title, 'name' => $name, 'date' => $date ); $this->db->insert('mytable', $data); // Produces: INSERT INTO mytable (title, name, date) VALUES ('{$title}', '{$name}', '{$date}')
+ $data = array(
+ 'title' => $title,
+ 'name' => $name,
+ 'date' => $date
+ );
+
+ $this->db->insert('mytable', $data); // Produces: INSERT INTO mytable (title, name, date) VALUES ('{$title}', '{$name}', '{$date}')
diff --git a/user_guide_src/source/database/fields.rst b/user_guide_src/source/database/fields.rst
index 07730f5..b706ace 100644
--- a/user_guide_src/source/database/fields.rst
+++ b/user_guide_src/source/database/fields.rst
@@ -11,12 +11,22 @@
1. You can supply the table name and call it from the $this->db->
object::
- $fields = $this->db->list_fields('table_name'); foreach ($fields as $field) { echo $field; }
+ $fields = $this->db->list_fields('table_name');
+
+ foreach ($fields as $field)
+ {
+ echo $field;
+ }
2. You can gather the field names associated with any query you run by
calling the function from your query result object::
- $query = $this->db->query('SELECT * FROM some_table'); foreach ($query->list_fields() as $field) { echo $field; }
+ $query = $this->db->query('SELECT * FROM some_table');
+
+ foreach ($query->list_fields() as $field)
+ {
+ echo $field;
+ }
$this->db->field_exists()
==========================
@@ -24,11 +34,14 @@
Sometimes it's helpful to know whether a particular field exists before
performing an action. Returns a boolean TRUE/FALSE. Usage example::
- if ($this->db->field_exists('field_name', 'table_name')) { // some code... }
+ if ($this->db->field_exists('field_name', 'table_name'))
+ {
+ // some code...
+ }
-Note: Replace *field_name* with the name of the column you are looking
-for, and replace *table_name* with the name of the table you are
-looking for.
+.. note:: Replace *field_name* with the name of the column you are looking
+ for, and replace *table_name* with the name of the table you are
+ looking for.
$this->db->field_data()
========================
@@ -38,16 +51,25 @@
Sometimes it's helpful to gather the field names or other metadata, like
the column type, max length, etc.
-Note: Not all databases provide meta-data.
+.. note:: Not all databases provide meta-data.
Usage example::
- $fields = $this->db->field_data('table_name'); foreach ($fields as $field) { echo $field->name; echo $field->type; echo $field->max_length; echo $field->primary_key; }
+ $fields = $this->db->field_data('table_name');
+
+ foreach ($fields as $field)
+ {
+ echo $field->name;
+ echo $field->type;
+ echo $field->max_length;
+ echo $field->primary_key;
+ }
If you have run a query already you can use the result object instead of
supplying the table name::
- $query = $this->db->query("YOUR QUERY"); $fields = $query->field_data();
+ $query = $this->db->query("YOUR QUERY");
+ $fields = $query->field_data();
The following data is available from this function if supported by your
database:
@@ -55,5 +77,4 @@
- name - column name
- max_length - maximum length of the column
- primary_key - 1 if the column is a primary key
-- type - the type of the column
-
+- type - the type of the column
\ No newline at end of file
diff --git a/user_guide_src/source/database/forge.rst b/user_guide_src/source/database/forge.rst
index ee03324..bf17e29 100644
--- a/user_guide_src/source/database/forge.rst
+++ b/user_guide_src/source/database/forge.rst
@@ -29,7 +29,10 @@
Permits you to create the database specified in the first parameter.
Returns TRUE/FALSE based on success or failure::
- if ($this->dbforge->create_database('my_db')) { echo 'Database created!'; }
+ if ($this->dbforge->create_database('my_db'))
+ {
+ echo 'Database created!';
+ }
$this->dbforge->drop_database('db_name')
==========================================
@@ -37,7 +40,10 @@
Permits you to drop the database specified in the first parameter.
Returns TRUE/FALSE based on success or failure::
- if ($this->dbforge->drop_database('my_db')) { echo 'Database deleted!'; }
+ if ($this->dbforge->drop_database('my_db'))
+ {
+ echo 'Database deleted!';
+ }
****************************
Creating and Dropping Tables
@@ -57,7 +63,13 @@
::
- $fields = array( 'users' => array( 'type' => 'VARCHAR', 'constraint' => '100', ), ); // will translate to "users VARCHAR(100)" when the field is added.
+ $fields = array(
+ 'users' => array(
+ 'type' => 'VARCHAR',
+ 'constraint' => '100',
+ ),
+ );
+ // will translate to "users VARCHAR(100)" when the field is added.
Additionally, the following key/values can be used:
@@ -72,7 +84,27 @@
::
- $fields = array( 'blog_id' => array( 'type' => 'INT', 'constraint' => 5, 'unsigned' => TRUE, 'auto_increment' => TRUE ), 'blog_title' => array( 'type' => 'VARCHAR', 'constraint' => '100', ), 'blog_author' => array( 'type' =>'VARCHAR', 'constraint' => '100', 'default' => 'King of Town', ), 'blog_description' => array( 'type' => 'TEXT', 'null' => TRUE, ), );
+ $fields = array(
+ 'blog_id' => array(
+ 'type' => 'INT',
+ 'constraint' => 5,
+ 'unsigned' => TRUE,
+ 'auto_increment' => TRUE
+ ),
+ 'blog_title' => array(
+ 'type' => 'VARCHAR',
+ 'constraint' => '100',
+ ),
+ 'blog_author' => array(
+ 'type' =>'VARCHAR',
+ 'constraint' => '100',
+ 'default' => 'King of Town',
+ ),
+ 'blog_description' => array(
+ 'type' => 'TEXT',
+ 'null' => TRUE,
+ ),
+ );
After the fields have been defined, they can be added using
@@ -95,7 +127,7 @@
$this->dbforge->add_field("label varchar(100) NOT NULL DEFAULT 'default label'");
-Note: Multiple calls to add_field() are cumulative.
+.. note:: Multiple calls to add_field() are cumulative.
Creating an id field
--------------------
@@ -106,7 +138,8 @@
::
- $this->dbforge->add_field('id'); // gives id INT(9) NOT NULL AUTO_INCREMENT
+ $this->dbforge->add_field('id');
+ // gives id INT(9) NOT NULL AUTO_INCREMENT
Adding Keys
@@ -122,7 +155,18 @@
::
- $this->dbforge->add_key('blog_id', TRUE); // gives PRIMARY KEY `blog_id` (`blog_id`) $this->dbforge->add_key('blog_id', TRUE); $this->dbforge->add_key('site_id', TRUE); // gives PRIMARY KEY `blog_id_site_id` (`blog_id`, `site_id`) $this->dbforge->add_key('blog_name'); // gives KEY `blog_name` (`blog_name`) $this->dbforge->add_key(array('blog_name', 'blog_label')); // gives KEY `blog_name_blog_label` (`blog_name`, `blog_label`)
+ $this->dbforge->add_key('blog_id', TRUE);
+ // gives PRIMARY KEY `blog_id` (`blog_id`)
+
+ $this->dbforge->add_key('blog_id', TRUE);
+ $this->dbforge->add_key('site_id', TRUE);
+ // gives PRIMARY KEY `blog_id_site_id` (`blog_id`, `site_id`)
+
+ $this->dbforge->add_key('blog_name');
+ // gives KEY `blog_name` (`blog_name`)
+
+ $this->dbforge->add_key(array('blog_name', 'blog_label'));
+ // gives KEY `blog_name_blog_label` (`blog_name`, `blog_label`)
Creating a table
@@ -133,7 +177,8 @@
::
- $this->dbforge->create_table('table_name'); // gives CREATE TABLE table_name
+ $this->dbforge->create_table('table_name');
+ // gives CREATE TABLE table_name
An optional second parameter set to TRUE adds an "IF NOT EXISTS" clause
@@ -141,7 +186,8 @@
::
- $this->dbforge->create_table('table_name', TRUE); // gives CREATE TABLE IF NOT EXISTS table_name
+ $this->dbforge->create_table('table_name', TRUE);
+ // gives CREATE TABLE IF NOT EXISTS table_name
Dropping a table
@@ -151,7 +197,8 @@
::
- $this->dbforge->drop_table('table_name'); // gives DROP TABLE IF EXISTS table_name
+ $this->dbforge->drop_table('table_name');
+ // gives DROP TABLE IF EXISTS table_name
Renaming a table
@@ -161,7 +208,8 @@
::
- $this->dbforge->rename_table('old_table_name', 'new_table_name'); // gives ALTER TABLE old_table_name RENAME TO new_table_name
+ $this->dbforge->rename_table('old_table_name', 'new_table_name');
+ // gives ALTER TABLE old_table_name RENAME TO new_table_name
****************
@@ -177,7 +225,11 @@
::
- $fields = array( 'preferences' => array('type' => 'TEXT') ); $this->dbforge->add_column('table_name', $fields); // gives ALTER TABLE table_name ADD preferences TEXT
+ $fields = array(
+ 'preferences' => array('type' => 'TEXT')
+ );
+ $this->dbforge->add_column('table_name', $fields);
+ // gives ALTER TABLE table_name ADD preferences TEXT
An optional third parameter can be used to specify which existing column
to add the new column after.
@@ -206,7 +258,11 @@
::
- $fields = array( 'old_name' => array( 'name' => 'new_name', 'type' => 'TEXT', ), ); $this->dbforge->modify_column('table_name', $fields); // gives ALTER TABLE table_name CHANGE old_name new_name TEXT
-
-
-
+ $fields = array(
+ 'old_name' => array(
+ 'name' => 'new_name',
+ 'type' => 'TEXT',
+ ),
+ );
+ $this->dbforge->modify_column('table_name', $fields);
+ // gives ALTER TABLE table_name CHANGE old_name new_name TEXT
\ No newline at end of file
diff --git a/user_guide_src/source/database/helpers.rst b/user_guide_src/source/database/helpers.rst
index b0a5ce9..7ea19e9 100644
--- a/user_guide_src/source/database/helpers.rst
+++ b/user_guide_src/source/database/helpers.rst
@@ -28,7 +28,9 @@
Permits you to determine the number of rows in a particular table.
Submit the table name in the first parameter. Example::
- echo $this->db->count_all('my_table'); // Produces an integer, like 25
+ echo $this->db->count_all('my_table');
+
+ // Produces an integer, like 25
$this->db->platform()
=====================
@@ -51,7 +53,9 @@
Returns the last query that was run (the query string, not the result).
Example::
- $str = $this->db->last_query(); // Produces: SELECT * FROM sometable....
+ $str = $this->db->last_query();
+
+ // Produces: SELECT * FROM sometable....
The following two functions help simplify the process of writing
database INSERTs and UPDATEs.
@@ -62,14 +66,16 @@
This function simplifies the process of writing database inserts. It
returns a correctly formatted SQL insert string. Example::
- $data = array('name' => $name, 'email' => $email, 'url' => $url); $str = $this->db->insert_string('table_name', $data);
+ $data = array('name' => $name, 'email' => $email, 'url' => $url);
+
+ $str = $this->db->insert_string('table_name', $data);
The first parameter is the table name, the second is an associative
array with the data to be inserted. The above example produces::
INSERT INTO table_name (name, email, url) VALUES ('Rick', 'rick@example.com', 'example.com')
-Note: Values are automatically escaped, producing safer queries.
+.. note:: Values are automatically escaped, producing safer queries.
$this->db->update_string();
============================
@@ -77,7 +83,11 @@
This function simplifies the process of writing database updates. It
returns a correctly formatted SQL update string. Example::
- $data = array('name' => $name, 'email' => $email, 'url' => $url); $where = "author_id = 1 AND status = 'active'"; $str = $this->db->update_string('table_name', $data, $where);
+ $data = array('name' => $name, 'email' => $email, 'url' => $url);
+
+ $where = "author_id = 1 AND status = 'active'";
+
+ $str = $this->db->update_string('table_name', $data, $where);
The first parameter is the table name, the second is an associative
array with the data to be updated, and the third parameter is the
@@ -85,4 +95,4 @@
UPDATE table_name SET name = 'Rick', email = 'rick@example.com', url = 'example.com' WHERE author_id = 1 AND status = 'active'
-Note: Values are automatically escaped, producing safer queries.
+.. note:: Values are automatically escaped, producing safer queries.
diff --git a/user_guide_src/source/database/queries.rst b/user_guide_src/source/database/queries.rst
index cfc42c4..971d5d6 100644
--- a/user_guide_src/source/database/queries.rst
+++ b/user_guide_src/source/database/queries.rst
@@ -41,7 +41,8 @@
If for any reason you would like to change the prefix programatically
without needing to create a new connection, you can use this method::
- $this->db->set_dbprefix('newprefix'); $this->db->dbprefix('tablename'); // outputs newprefix_tablename
+ $this->db->set_dbprefix('newprefix');
+ $this->db->dbprefix('tablename'); // outputs newprefix_tablename
**********************
@@ -101,7 +102,8 @@
Bindings enable you to simplify your query syntax by letting the system
put the queries together for you. Consider the following example::
- $sql = "SELECT * FROM some_table WHERE id = ? AND status = ? AND author = ?"; $this->db->query($sql, array(3, 'live', 'Rick'));
+ $sql = "SELECT * FROM some_table WHERE id = ? AND status = ? AND author = ?";
+ $this->db->query($sql, array(3, 'live', 'Rick'));
The question marks in the query are automatically replaced with the
values in the array in the second parameter of the query function.
diff --git a/user_guide_src/source/database/results.rst b/user_guide_src/source/database/results.rst
index a85b89b..4f93c79 100644
--- a/user_guide_src/source/database/results.rst
+++ b/user_guide_src/source/database/results.rst
@@ -11,14 +11,31 @@
**an empty array** on failure. Typically you'll use this in a foreach
loop, like this::
- $query = $this->db->query("YOUR QUERY"); foreach ($query->result() as $row) { echo $row->title; echo $row->name; echo $row->body; }
+ $query = $this->db->query("YOUR QUERY");
+
+ foreach ($query->result() as $row)
+ {
+ echo $row->title;
+ echo $row->name;
+ echo $row->body;
+ }
The above function is an alias of result_object().
If you run queries that might **not** produce a result, you are
encouraged to test the result first::
- $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; } }
+ $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;
+ }
+ }
You can also pass a string to result() which represents a class to
instantiate for each result object (note: this class must be loaded)
@@ -40,7 +57,14 @@
array when no result is produced. Typically you'll use this in a foreach
loop, like this::
- $query = $this->db->query("YOUR QUERY"); foreach ($query->result_array() as $row) { echo $row['title']; echo $row['name']; echo $row['body']; }
+ $query = $this->db->query("YOUR QUERY");
+
+ foreach ($query->result_array() as $row)
+ {
+ echo $row['title'];
+ echo $row['name'];
+ echo $row['body'];
+ }
row()
=====
@@ -49,7 +73,16 @@
one row, it returns only the first row. The result is returned as an
**object**. Here's a usage example::
- $query = $this->db->query("YOUR QUERY"); if ($query->num_rows() > 0) { $row = $query->row(); echo $row->title; echo $row->name; echo $row->body; }
+ $query = $this->db->query("YOUR QUERY");
+
+ if ($query->num_rows() > 0)
+ {
+ $row = $query->row();
+
+ echo $row->title;
+ echo $row->name;
+ echo $row->body;
+ }
If you want a specific row returned you can submit the row number as a
digit in the first parameter::
@@ -59,7 +92,11 @@
You can also add a second String parameter, which is the name of a class
to instantiate the row with::
- $query = $this->db->query("SELECT * FROM users LIMIT 1;"); $query->row(0, 'User') echo $row->name; // call attributes echo $row->reverse_name(); // or methods defined on the 'User' class
+ $query = $this->db->query("SELECT * FROM users LIMIT 1;");
+ $query->row(0, 'User');
+
+ echo $row->name; // call attributes
+ echo $row->reverse_name(); // or methods defined on the 'User' class
row_array()
============
@@ -67,7 +104,16 @@
Identical to the above row() function, except it returns an array.
Example::
- $query = $this->db->query("YOUR QUERY"); if ($query->num_rows() > 0) { $row = $query->row_array(); echo $row['title']; echo $row['name']; echo $row['body']; }
+ $query = $this->db->query("YOUR QUERY");
+
+ if ($query->num_rows() > 0)
+ {
+ $row = $query->row_array();
+
+ echo $row['title'];
+ echo $row['name'];
+ echo $row['body'];
+ }
If you want a specific row returned you can submit the row number as a
digit in the first parameter::
@@ -77,18 +123,18 @@
In addition, you can walk forward/backwards/first/last through your
results using these variations:
-**$row = $query->first_row()**
- **$row = $query->last_row()**
- **$row = $query->next_row()**
- **$row = $query->previous_row()**
+ | **$row = $query->first_row()**
+ | **$row = $query->last_row()**
+ | **$row = $query->next_row()**
+ | **$row = $query->previous_row()**
By default they return an object unless you put the word "array" in the
parameter:
-**$row = $query->first_row('array')**
- **$row = $query->last_row('array')**
- **$row = $query->next_row('array')**
- **$row = $query->previous_row('array')**
+ | **$row = $query->first_row('array')**
+ | **$row = $query->last_row('array')**
+ | **$row = $query->next_row('array')**
+ | **$row = $query->previous_row('array')**
***********************
Result Helper Functions
@@ -100,7 +146,9 @@
The number of rows returned by the query. Note: In this example, $query
is the variable that the query result object is assigned to::
- $query = $this->db->query('SELECT * FROM my_table'); echo $query->num_rows();
+ $query = $this->db->query('SELECT * FROM my_table');
+
+ echo $query->num_rows();
$query->num_fields()
=====================
@@ -108,7 +156,9 @@
The number of FIELDS (columns) returned by the query. Make sure to call
the function using your query result object::
- $query = $this->db->query('SELECT * FROM my_table'); echo $query->num_fields();
+ $query = $this->db->query('SELECT * FROM my_table');
+
+ echo $query->num_fields();
$query->free_result()
======================
@@ -120,5 +170,17 @@
result has been generated in order to cut down on memory consumptions.
Example::
- $query = $this->db->query('SELECT title FROM my_table'); foreach ($query->result() as $row) { echo $row->title; } $query->free_result(); // The $query result object will no longer be available $query2 = $this->db->query('SELECT name FROM some_table'); $row = $query2->row(); echo $row->name; $query2->free_result(); // The $query2 result object will no longer be available
+ $query = $this->db->query('SELECT title FROM my_table');
+
+ foreach ($query->result() as $row)
+ {
+ echo $row->title;
+ }
+ $query->free_result(); // The $query result object will no longer be available
+
+ $query2 = $this->db->query('SELECT name FROM some_table');
+
+ $row = $query2->row();
+ echo $row->name;
+ $query2->free_result();// The $query2 result object will no longer be available
diff --git a/user_guide_src/source/database/table_data.rst b/user_guide_src/source/database/table_data.rst
index ec7dbbf..744a051 100644
--- a/user_guide_src/source/database/table_data.rst
+++ b/user_guide_src/source/database/table_data.rst
@@ -10,7 +10,12 @@
Returns an array containing the names of all the tables in the database
you are currently connected to. Example::
- $tables = $this->db->list_tables(); foreach ($tables as $table) { echo $table; }
+ $tables = $this->db->list_tables();
+
+ foreach ($tables as $table)
+ {
+ echo $table;
+ }
$this->db->table_exists();
===========================
@@ -18,7 +23,9 @@
Sometimes it's helpful to know whether a particular table exists before
running an operation on it. Returns a boolean TRUE/FALSE. Usage example::
- if ($this->db->table_exists('table_name')) { // some code... }
+ if ($this->db->table_exists('table_name'))
+ {
+ // some code...
+ }
-Note: Replace *table_name* with the name of the table you are looking
-for.
+.. note:: Replace *table_name* with the name of the table you are looking for.
diff --git a/user_guide_src/source/database/transactions.rst b/user_guide_src/source/database/transactions.rst
index e82210b..e9190e5 100644
--- a/user_guide_src/source/database/transactions.rst
+++ b/user_guide_src/source/database/transactions.rst
@@ -35,7 +35,11 @@
$this->db->trans_start() and $this->db->trans_complete() functions as
follows::
- $this->db->trans_start(); $this->db->query('AN SQL QUERY...'); $this->db->query('ANOTHER QUERY...'); $this->db->query('AND YET ANOTHER QUERY...'); $this->db->trans_complete();
+ $this->db->trans_start();
+ $this->db->query('AN SQL QUERY...');
+ $this->db->query('ANOTHER QUERY...');
+ $this->db->query('AND YET ANOTHER QUERY...');
+ $this->db->trans_complete();
You can run as many queries as you want between the start/complete
functions and they will all be committed or rolled back based on success
@@ -61,7 +65,15 @@
you'll see a standard error message if the commit was unsuccessful. If
debugging is turned off, you can manage your own errors like this::
- $this->db->trans_start(); $this->db->query('AN SQL QUERY...'); $this->db->query('ANOTHER QUERY...'); $this->db->trans_complete(); if ($this->db->trans_status() === FALSE) { // generate an error... or use the log_message() function to log your error }
+ $this->db->trans_start();
+ $this->db->query('AN SQL QUERY...');
+ $this->db->query('ANOTHER QUERY...');
+ $this->db->trans_complete();
+
+ if ($this->db->trans_status() === FALSE)
+ {
+ // generate an error... or use the log_message() function to log your error
+ }
Enabling Transactions
=====================
@@ -70,7 +82,11 @@
$this->db->trans_start(). If you would like to disable transactions you
can do so using $this->db->trans_off()::
- $this->db->trans_off() $this->db->trans_start(); $this->db->query('AN SQL QUERY...'); $this->db->trans_complete();
+ $this->db->trans_off();
+
+ $this->db->trans_start();
+ $this->db->query('AN SQL QUERY...');
+ $this->db->trans_complete();
When transactions are disabled, your queries will be auto-commited, just
as they are when running queries without transactions.
@@ -83,14 +99,29 @@
a valid result. To use test mode simply set the first parameter in the
$this->db->trans_start() function to TRUE::
- $this->db->trans_start(TRUE); // Query will be rolled back $this->db->query('AN SQL QUERY...'); $this->db->trans_complete();
+ $this->db->trans_start(TRUE); // Query will be rolled back
+ $this->db->query('AN SQL QUERY...');
+ $this->db->trans_complete();
Running Transactions Manually
=============================
If you would like to run transactions manually you can do so as follows::
- $this->db->trans_begin(); $this->db->query('AN SQL QUERY...'); $this->db->query('ANOTHER QUERY...'); $this->db->query('AND YET ANOTHER QUERY...'); if ($this->db->trans_status() === FALSE) { $this->db->trans_rollback(); } else { $this->db->trans_commit(); }
+ $this->db->trans_begin();
+
+ $this->db->query('AN SQL QUERY...');
+ $this->db->query('ANOTHER QUERY...');
+ $this->db->query('AND YET ANOTHER QUERY...');
+
+ if ($this->db->trans_status() === FALSE)
+ {
+ $this->db->trans_rollback();
+ }
+ else
+ {
+ $this->db->trans_commit();
+ }
.. note:: Make sure to use $this->db->trans_begin() when running manual
transactions, **NOT** $this->db->trans_start().
diff --git a/user_guide_src/source/database/utilities.rst b/user_guide_src/source/database/utilities.rst
index ab7d6a1..b092010 100644
--- a/user_guide_src/source/database/utilities.rst
+++ b/user_guide_src/source/database/utilities.rst
@@ -32,7 +32,12 @@
Returns an array of database names::
- $dbs = $this->dbutil->list_databases(); foreach ($dbs as $db) { echo $db; }
+ $dbs = $this->dbutil->list_databases();
+
+ foreach ($dbs as $db)
+ {
+ echo $db;
+ }
$this->dbutil->database_exists();
==================================
@@ -40,7 +45,10 @@
Sometimes it's helpful to know whether a particular database exists.
Returns a boolean TRUE/FALSE. Usage example::
- if ($this->dbutil->database_exists('database_name')) { // some code... }
+ if ($this->dbutil->database_exists('database_name'))
+ {
+ // some code...
+ }
Note: Replace *database_name* with the name of the table you are
looking for. This function is case sensitive.
@@ -53,7 +61,10 @@
Permits you to optimize a table using the table name specified in the
first parameter. Returns TRUE/FALSE based on success or failure::
- if ($this->dbutil->optimize_table('table_name')) { echo 'Success!'; }
+ if ($this->dbutil->optimize_table('table_name'))
+ {
+ echo 'Success!';
+ }
.. note:: Not all database platforms support table optimization.
@@ -65,7 +76,10 @@
Permits you to repair a table using the table name specified in the
first parameter. Returns TRUE/FALSE based on success or failure::
- if ($this->dbutil->repair_table('table_name')) { echo 'Success!'; }
+ if ($this->dbutil->repair_table('table_name'))
+ {
+ echo 'Success!';
+ }
.. note:: Not all database platforms support table repairs.
@@ -80,7 +94,12 @@
::
- $result = $this->dbutil->optimize_database(); if ($result !== FALSE) { print_r($result); }
+ $result = $this->dbutil->optimize_database();
+
+ if ($result !== FALSE)
+ {
+ print_r($result);
+ }
.. note:: Not all database platforms support table optimization.
@@ -91,7 +110,11 @@
parameter of the function must contain the result object from your
query. Example::
- $this->load->dbutil(); $query = $this->db->query("SELECT * FROM mytable"); echo $this->dbutil->csv_from_result($query);
+ $this->load->dbutil();
+
+ $query = $this->db->query("SELECT * FROM mytable");
+
+ echo $this->dbutil->csv_from_result($query);
The second, third, and fourth parameters allow you to set the delimiter
newline, and enclosure characters respectively. By default tabs are
@@ -115,7 +138,18 @@
parameter expects a query result object, the second may contain an
optional array of config parameters. Example::
- $this->load->dbutil(); $query = $this->db->query("SELECT * FROM mytable"); $config = array ( 'root' => 'root', 'element' => 'element', 'newline' => "\n", 'tab' => "\t" ); echo $this->dbutil->xml_from_result($query, $config);
+ $this->load->dbutil();
+
+ $query = $this->db->query("SELECT * FROM mytable");
+
+ $config = array (
+ 'root' => 'root',
+ 'element' => 'element',
+ 'newline' => "\n",
+ 'tab' => "\t"
+ );
+
+ echo $this->dbutil->xml_from_result($query, $config);
.. important:: This function will NOT write the XML file for you. It
simply creates the XML layout. If you need to write the file
@@ -140,7 +174,19 @@
::
- // Load the DB utility class $this->load->dbutil(); // Backup your entire database and assign it to a variable $backup =& $this->dbutil->backup(); // Load the file helper and write the file to your server $this->load->helper('file'); write_file('/path/to/mybackup.gz', $backup); // Load the download helper and send the file to your desktop $this->load->helper('download'); force_download('mybackup.gz', $backup);
+ // Load the DB utility class
+ $this->load->dbutil();
+
+ // Backup your entire database and assign it to a variable
+ $backup =& $this->dbutil->backup();
+
+ // Load the file helper and write the file to your server
+ $this->load->helper('file');
+ write_file('/path/to/mybackup.gz', $backup);
+
+ // Load the download helper and send the file to your desktop
+ $this->load->helper('download');
+ force_download('mybackup.gz', $backup);
Setting Backup Preferences
--------------------------
@@ -148,7 +194,17 @@
Backup preferences are set by submitting an array of values to the first
parameter of the backup function. Example::
- $prefs = array( 'tables' => array('table1', 'table2'), // Array of tables to backup. 'ignore' => array(), // List of tables to omit from the backup 'format' => 'txt', // gzip, zip, txt 'filename' => 'mybackup.sql', // File name - NEEDED ONLY WITH ZIP FILES 'add_drop' => TRUE, // Whether to add DROP TABLE statements to backup file 'add_insert' => TRUE, // Whether to add INSERT data to backup file 'newline' => "\n" // Newline character used in backup file ); $this->dbutil->backup($prefs);
+ $prefs = array(
+ 'tables' => array('table1', 'table2'), // Array of tables to backup.
+ 'ignore' => array(), // List of tables to omit from the backup
+ 'format' => 'txt', // gzip, zip, txt
+ 'filename' => 'mybackup.sql', // File name - NEEDED ONLY WITH ZIP FILES
+ 'add_drop' => TRUE, // Whether to add DROP TABLE statements to backup file
+ 'add_insert' => TRUE, // Whether to add INSERT data to backup file
+ 'newline' => "\n" // Newline character used in backup file
+ );
+
+ $this->dbutil->backup($prefs);
Description of Backup Preferences
---------------------------------