CodeIgniter Laravel PHP Example HTML Javascript jQuery MORE Videos New

How to insert data in database - Laravel framework

In this example we are going to show you how to insert data in database using laravel framework PHP.

For insert data in MySQL using laravel first we have to create a table in data base.

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,...)

To learn more about SQL, please visit our SQL tutorial.

For creating table the SQL query is:

SQL Query

CREATE TABLE student_details
first_name varchar(50),
last_name varchar(50),
city_name varchar(50),
email varchar(50),

Create 3 files for insert data in Laravel :

  • StudInsertController.php (app/Http/Controllers/StudInsertController.php)
  • stud_create.php (resources/views/stud_create.php)
  • web.php (routes/web.php)

stud_create.blade.php(View File)

<!DOCTYPE html>
<title>Student Management | Add</title>
@if (session('status'))
<div class="alert alert-success" role="alert">
	<button type="button" class="close" data-dismiss="alert">×</button>
	{{ session('status') }}
<div class="alert alert-danger" role="alert">
	<button type="button" class="close" data-dismiss="alert">×</button>
	{{ session('failed') }}
<form action = "/create" method = "post">
	<input type = "hidden" name = "_token" value = "<?php echo csrf_token(); ?>">
	<td>First Name</td>
	<td><input type='text' name='first_name' /></td>
	<td>Last Name</td>
	<td><input type="text" name='last_name'/></td>
	<td>City Name</td>
	<select name="city_name">
	<option value="bbsr">Bhubaneswar</option>
	<option value="cuttack">Cuttack</option>
	<td><input type="text" name='email'/></td>

	<td colspan = '2'>
	<input type = 'submit' value = "Add student"/>

StudInsertController.php(Controller File)

namespace App\Http\Controllers;
use App\StudInsert;
use Illuminate\Http\Request;
use \Illuminate\Http\Response;
use Illuminate\Support\Facades\Validator;
use Illuminate\Validation\Rule;

class StudInsertController extends Controller
    public function insert(){
        $urlData = getURLList();
        return view('stud_create');
    public function create(Request $request){
        $rules = [
			'first_name' => 'required|string|min:3|max:255',
			'city_name' => 'required|string|min:3|max:255',
			'email' => 'required|string|email|max:255'
		$validator = Validator::make($request->all(),$rules);
		if ($validator->fails()) {
			return redirect('insert')
            $data = $request->input();
				$student = new StudInsert;
                $student->first_name = $data['first_name'];
                $student->last_name = $data['last_name'];
				$student->city_name = $data['city_name'];
				$student->email = $data['email'];
				return redirect('insert')->with('status',"Insert successfully");
			catch(Exception $e){
				return redirect('insert')->with('failed',"operation failed");

StudInsert.php(Model File)

namespace App;

use Illuminate\Database\Eloquent\Model;

class StudInsert extends Model
	protected $table = 'student_details';
	public $timestamps = true;
	 * The attributes that are mass assignable.
	 * @var array
	protected $fillable = [
		'first_name', 'last_name','city_name', 'email',


| Web Routes
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
//insert data

Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, bool given in /www/wwwroot/ on line 13