this db where in codeigniter with code examples


This article provides a comprehensive guide on how to create a database (db) where in Codeigniter using appropriate code examples. In Codeigniter, a database is a central component where all data is stored for retrieval and manipulation in web applications. This tutorial is intended for beginners who want to learn how to configure and manipulate a database.


Before we begin, ensure you have the following requirements;

A web server like Apache or Nginx

A local host

MySQL or any other Relational Database Management System

A Code Editor like Visual Studio Code

Basic understanding of PHP, HTML, and SQL

Codeigniter installed in your local server

Overview of the tutorial

Create a database

Database configuration in Codeigniter

Create a model to interact with the db

Controller to fetch data from the database

Create views to display data.

Step 1: Create a database

Creating a database is the initial and crucial part of setting up a database. We shall use SQL to create a database in MySQL. Below is a sample SQL code;


After creating a database, ensure you create tables and columns representing the data required to be stored.

Step 2: Database Configuration in Codeigniter

Now that we have a database, we need to set up Codeigniter to connect to our database. This is the most crucial part of the configuration and is located in the application/config/ database.php file. Below is a sample code for this file:

‘hostname’ => ‘localhost’,
‘username’ => ‘myusername’,
‘password’ => ‘mypassword’,
‘database’ => ‘mydb’,
‘dbdriver’ => ‘mysqli’,
‘dbprefix’ => ”,
‘pconnect’ => FALSE,
‘db_debug’ => (ENVIRONMENT !== ‘production’),
‘cache_on’ => FALSE,
‘cachedir’ => ”,
‘char_set’ => ‘utf8’,
‘dbcollat’ => ‘utf8_general_ci’,
‘swap_pre’ => ”,
‘encrypt’ => FALSE,
‘compress’ => FALSE,
‘stricton’ => FALSE,
‘failover’ => array(),
‘save_queries’ => TRUE


In the above code, we are specifying the correct database server, username, password, and database to connect to. Ensure you replace 'myusername', 'mypassword', 'mydb' with your values.

Step 3: Create a model to interact with the db

After configuring the database, we need to create a model responsible for retrieving and interacting with the database. We shall create our model in the application/models/Book_model.php. Below is the code for the Book_model.php file.


if($query->num_rows() > 0) {
return $query->result();
else {
return false;



The above model defines the getBooks() function which retrieves all books from the database.

Step 4: Controller to fetch data from the database

After creating our model, we need to create a controller that will call the model's getBooks() function and send the results to the corresponding view. Below is a sample code for books.php controller

$data[‘books’] = $this->book_model->getBooks();

$this->load->view(‘books_view’, $data);



In the above code, the index() function calls the getBooks() function in the Book_model.php and sends the result to the books_view.

Step 5: Create views to display data

Lastly, we need to create a view to display the data from the database. Books_view.php should be in the application/views/ directory. Below is the code for the books_view.php file.



title; ?>

In the above code, we use a foreach loop to iterate through the result array from the database and display them on the web page.


In conclusion, Codeigniter offers an easy, robust, and efficient way of handling databases. It becomes easy to keep track of your data with the above steps. This article has covered only the basics of creating a database, but with only a change of database name, column name, and db credentials, you can create multiple databases that hold different content.

here is some more information and tips regarding the previous topics.

Creating A Database

When creating a database, make sure to choose an appropriate name that reflects the purpose of the database. For example, if you are creating a database to store customer information, you could name it "customer_data." It is also important to define the tables and columns that will store the information you need. Take some time to plan and design your database before creating it to ensure that it meets the requirements of your application.

Database Configuration In Codeigniter

Codeigniter's database configuration file is located in the "application/config" directory. Make sure that you configure your database connection correctly by specifying the correct hostname, database, username, and password. You also need to specify the database driver you will use; for example, MySQL, Oracle, PostgreSQL, etc. If you're not sure which driver to use, check with your hosting provider or consult the documentation for the database management system you are using.

Creating A Model To Interact With The DB

When creating a model to interact with the database, make sure to follow object-oriented programming principles. This means that you should create separate functions to insert, update, delete, and retrieve data from the database. Also, keep your model lightweight by avoiding the use of large chunks of SQL code. Instead, use Codeigniter's query builder methods, which are simple, elegant, and easy to read.

Controller To Fetch Data From The Database

When creating a controller to fetch data from the database, make sure to load the corresponding model in the constructor of the Controller. This will ensure that the model is available for use in all the functions of the controller. Also, use proper error handling techniques to catch any database-related errors that may occur during data retrieval.

Create Views To Display Data

When creating views to display data from the database, make sure to keep them simple and easy to read. Use appropriate HTML tags to display the data, such as tables, lists, and divs. Also, use CSS to style your views and make them look visually appealing.


Creating and maintaining a database is an essential part of web development. You need to create a database that meets the requirements of your application, configure Codeigniter's database connection correctly, create a model to interact with the database, create a controller to fetch data from the database and create views to display the data. By following these guidelines, you can create efficient and effective databases for your web applications.

Popular questions

  1. What is Codeigniter?

Answer: Codeigniter is an open-source PHP web application development framework that helps developers to build dynamic web applications more efficiently. It is lightweight and easy to use, and it provides a robust set of libraries to help developers increase their productivity.

  1. What is the purpose of a database in a web application?

Answer: A database is a central component where all data is stored for retrieval and manipulation in web applications. Web applications require a database to store, organize, manipulate and retrieve data, such as user information, product information, and user activities. The database allows web applications to process large amounts of data and make it accessible to users.

  1. How do you create a database in MySQL?

Answer: To create a database in MySQL, you can use the following SQL command:


This command creates a database with the name "dbname."

  1. How can Codeigniter help with database interactions?

Answer: Codeigniter provides a robust set of database libraries that make it easy to interact with databases. It provides a query builder that simplifies writing and executing SQL queries, as well as Active Record, a powerful object-relational mapping tool that enables you to interact with your database using object-oriented programming principles.

  1. How can you display data from a database using Codeigniter?

Answer: To display data from a database using Codeigniter, you need to create a model to interact with the database, a controller to fetch the data, and a view to display the data. You can use Codeigniter's query builder to fetch the data from the database, and then pass it to the view using the controller. Finally, you can use HTML to display the data in the view.



Cloud Computing and DevOps Engineering have always been my driving passions, energizing me with enthusiasm and a desire to stay at the forefront of technological innovation. I take great pleasure in innovating and devising workarounds for complex problems. Drawing on over 8 years of professional experience in the IT industry, with a focus on Cloud Computing and DevOps Engineering, I have a track record of success in designing and implementing complex infrastructure projects from diverse perspectives, and devising strategies that have significantly increased revenue. I am currently seeking a challenging position where I can leverage my competencies in a professional manner that maximizes productivity and exceeds expectations.
Posts created 3193

Leave a Reply

Your email address will not be published. Required fields are marked *

Related Posts

Begin typing your search term above and press enter to search. Press ESC to cancel.

Back To Top