In this article, we will see how to insert the data into the database using the CodeIgniter.

1. 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)
);

2. Copy and Paste the following lines in applications/config/autoload.php

$autoload['libraries'] = array('database');
$autoload['helper'] = array('url', 'form');

3. Create an add.php file in applications/views/ directory.

<!DOCTYPE html>
<html>

<head>
	<title>Add user</title>
</head>

<body>
	<form method="post" id="add-user-form" 
	action="<?php echo base_url('user/add_user'); ?>">
		<table width="600" border="1" cellspacing="5" 
		cellpadding="5">
			<tr>
				<td width="230">First Name</td>
				<td width="329">
					<input type="text" name="txtFirstName" 
					id="txtFirstName" />
				</td>
			</tr>
			<tr>
				<td>Last Name</td>
				<td>
					<input type="text" name="txtLastName" 
					id="txtLastName" />
				</td>
			</tr>
			<tr>
				<td>Email ID</td>
				<td>
					<input type="email" name="txtEmail" 
					id="txtEmail" />
				</td>
			</tr>
			<tr>
				<td colspan="2" align="center">
					<input type="submit" name="btnAddUser" 
					value="Add user" />
				</td>
			</tr>
		</table>
	</form>

	<!-- Script -->
	<script 
	src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js">
	</script>

	<script type="text/javascript">
		$(document).ready(function(){
			$("#add-user-form").submit(function(e) {

				var data = $("#add-user-form").serialize();
				var url = "<?php echo base_url('user/add_user'); ?>";

				// Syntax
				// $(selector).post(URL,data,function(data,status,xhr),dataType);

				$.post(
					url,
					data,
					function(result) {
						alert(result.message);
					},
					'json');
			});
		});
	</script>

</body>

</html>

4. Create a model file User_model.php in the applications/models/ directory.

class User_model extends CI_Model {
	/*Insert*/
	function add($data) {
		return $this->db->insert(‘user_info’, $data);
	}
	
}

5. Create a controller file User.php in the applications/controllers/ directory.

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 add_user() {
		$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 json_encode(["message" => "New user is registered successfully."]);
		} else {
			echo json_encode(["message" => "Something went wrong."]);;
		}
	}
}