Codeigniter built-in Database Class usage instructions

Source: Internet
Author: User
Tags pconnect
In CodeIgniter, database usage is very frequent. You can use the database class that comes with the framework to perform database operations conveniently.

In CodeIgniter, database usage is very frequent. You can use the database class that comes with the framework to perform database operations conveniently.

Initialize Database Class

Load and initialize the Database Class Based on your Database Configuration:

The Code is as follows:


This-> load-> database ();

You can use it anywhere after it is loaded.

Returns the query result as an object.

The Code is as follows:


$ 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 result () function above returns an array of objects. Example: $ row-> title

Returns the query result in an array.

The Code is as follows:


$ 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 with the lower mark. Example: $ row ['title']

Returns a data record.

Object format:

The Code is as follows:


$ Query = $ this-> db-> query ('select name FROM my_table LIMIT 1 ');
$ Row = $ query-> row ();
Echo $ row-> name;

The row () function above returns an object. Example: $ row-> name

Array format:

The Code is as follows:


$ Query = $ this-> db-> query ('select name FROM my_table LIMIT 1 ');
$ Row = $ query-> row_array ();
Echo $ row ['name'];

The row_array () function above returns an array. Example: $ row ['name']

Insert data

The Code is as follows:


$ SQL = "INSERT INTO mytable (title, name)
VALUES (". $ this-> db-> escape ($ title).", ". $ this-> db-> escape ($ name ).")";
$ This-> db-> query ($ SQL );
Echo $ this-> db-> affected_rows ();

Database Configuration

CodeIgniter has a configuration file for you to store database connection values (username: username, password: password, database name: database name, etc ..). the configuration file is located in the following path: application/config/database. php

The accessory file is stored in a multi-dimensional array in the following format:

The Code is as follows:


$ Db ['default'] ['hostname'] = "localhost ";
$ Db ['default'] ['username'] = "root ";
$ Db ['default'] ['Password'] = "";
$ Db ['default'] ['databas'] = "database_name ";
$ Db ['default'] ['dbdriver '] = "mysql ";
$ Db ['default'] ['dbprefix'] = "";
$ Db ['default'] ['pconnect '] = TRUE;
$ Db ['default'] ['db _ debug'] = FALSE;
$ Db ['default'] ['cache _ on'] = FALSE;
$ Db ['default'] ['cachedir'] = "";
$ Db ['default'] ['Char _ set'] = "utf8 ";
$ Db ['default'] ['dbcollat'] = "utf8_general_ci ";

The reason for using multi-dimensional arrays is to allow you to store the setting of multiple connection values at will. For example, if you run multiple environments (development: development, production: production, test: Testing, etc ..), you can establish independent connection groups for each environment and switch between groups directly. For example, to set up a "test" environment, you can do this:

The Code is as follows:


$ Db ['test'] ['hostname'] = "localhost ";
$ Db ['test'] ['username'] = "root ";
$ Db ['test'] ['Password'] = "";
$ Db ['test'] ['databas'] = "database_name ";
$ Db ['test'] ['dbdriver '] = "mysql ";
$ Db ['test'] ['dbprefix'] = "";
$ Db ['test'] ['pconnect '] = TRUE;
$ Db ['test'] ['db _ debug'] = FALSE;
$ Db ['test'] ['cache _ on'] = FALSE;
$ Db ['test'] ['cachedir'] = "";
$ Db ['test'] ['Char _ set'] = "utf8 ";
$ Db ['test'] ['dbcollat'] = "utf8_general_ci ";

Then, tell the system to use the "test" group. You can set the variables in the configuration file:

The Code is as follows:


$ Active_group = "test ";

Note: The name of "test" is arbitrary, which allows you to set it freely. Our main connection uses the name "default" by default. Of course, you can give it a more meaningful name based on your project.

Active Record

The Active Record class can be globally set using the $ active_record variable in the database configuration file (allow/disable TRUE/FALSE (boolean )). if you do not need this class, you can set this variable value to FALSE to reduce the consumption of computer resources during database class initialization. $ Active_record = TRUE;

Note: Some CodeIgniter classes, such as Sessions, require the support of Active Records when executing some functions.

Parameter Parsing:

Hostname-the host name of the database, which is usually on the local machine and can be expressed as "localhost ".
Username-username to connect to the database.
Password-password used to log on to the database.
Database-name of the database to be connected.
Dbdriver-database type. Such as mysql, ipvs, and odbc. It must be a lowercase letter.
Dbprefix-the data table prefix when an Active Record query is run. It allows multiple CodeIgniter programs to be installed in a database.
Pconnect-TRUE/FALSE (boolean)-use persistent connection.
Db_debug-TRUE/FALSE (boolean)-displays database error information.
Cache_on-TRUE/FALSE (boolean)-whether the database query cache is enabled. For more information, see database cache.
Cachedir-absolute path of the server where the cache directory is located in the database query.
Char_set-character set used for communicating with the database.
Dbcollat-character collation used to communicate with the database ).
Port-database port number. Currently, it is only used for ipvs drivers. To use this value, you should add a line of code to the Database Configuration array.

,

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.