Introduction
In this example, I am going to show you how to insert data in the database using the CodeIgniter framework PHP.
For inserting data into MySQL table using CodeIgniter first, we have to create a table in the database.
The INSERT INTO statement is used to insert new data to a MySQL table:
INSERT INTO table_name (column1, column2, column3,...)
VALUES (value1, value2, value3,...)
SQL query to create a table in MySQL
CREATE TABLE user_info (
`id` int(11) NOT NULL,
`first_name` varchar(30) NOT NULL,
`last_name` varchar(30) NOT NULL,
`email` varchar(30) NOT NULL,
PRIMARY KEY (id)
);
In CodeIgniter we use, insert() function to insert data into database.
Basic syntax:
insert('table_name', 'array_of_object');
Here, we are using 3 files for insert data into MySQL:
Controller: User.php application\controllers\User.php
Model: User_model.php application\models\User_model.php
View: add.php application\views\add.php
config/autoload.php
$autoload['libraries'] = array('database');
$autoload['helper'] = array('url', 'form');
applications/views/add.php
<!DOCTYPE html>
<html>
<head>
<title>Add user</title>
</head>
<body>
<form method="post" action="<?php echo base_url('user/save'); ?>">
<table width="600" border="1" cellspacing="5" cellpadding="5">
<tr>
<td width="230">First Name</td>
<td width="329">
<input type="text" name="txtFirstName" />
</td>
</tr>
<tr>
<td>Last Name</td>
<td>
<input type="text" name="txtLastName" />
</td>
</tr>
<tr>
<td>Email ID</td>
<td>
<input type="email" name="txtEmail" />
</td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" name="btnAddUser" value="Add user" />
</td>
</tr>
</table>
</form>
</body>
</html>
applications/controllers/User.php
class User extends CI_Controller {
public function __construct() {
/*call CodeIgniter's default Constructor*/
parent::__construct();
/*load model*/
$this->load->model('User_model');
}
public function add() {
$this->load->view(‘add’);
}
public function save() {
$first_name = $this->input->post(‘txtLastName’);
$last_name = $this->input->post(‘txtLastName’);
$email = $this->input->post(‘txtEmail’);
$data = [
‘first_name’ => $first_name,
‘last_name’ => $last_name,
‘email’ => $email,
];
$result = $this->user_model->add($data);
if($result) {
echo “New user is registered successfully.”;
} else {
echo “Something went wrong”;
}
}
}
applications/models/User_model.php
class User_model extends CI_Model {
/*Insert*/
function add($data) {
return $this->db->insert(‘user_info’, $data);
}
}