Upgrade & Secure Your Future with DevOps, SRE, DevSecOps, MLOps!

We spend hours on Instagram and YouTube and waste money on coffee and fast food, but won’t spend 30 minutes a day learning skills to boost our careers.
Master in DevOps, SRE, DevSecOps & MLOps!

Learn from Guru Rajesh Kumar and double your salary in just one year.

Get Started Now!

CRUD operation using PHP Bootstrap 5 & MySQL

To perform CRUD (Create, Read, Update, Delete) operations using PHP, Bootstrap 5, and MySQL, you will need to follow the steps below:

Create a database in MySQL and create a table in it.

    For example, let’s create a database named “blog” and a table named “students” with the following fields:

    • id (primary key, auto-increment)
    • name
    • email
    • phone
    • course

    Create your database and create the table as shown below to get start with CRUD app using php mysql.

    CREATE TABLE students (
        id INT(255) AUTO_INCREMENT PRIMARY KEY,
        name VARCHAR(255) NOT NULL,
        email VARCHAR(255) NOT NULL,
        phone VARCHAR(255) NOT NULL,
        course VARCHAR(255) NOT NULL
    )

    Step 1: Create a file named student-create.php and paste the form code to save the data:

    <?php
    session_start();
    ?>
    
    <!doctype html>
    <html lang="en">
    
    <head>
        <!-- Required meta tags -->
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
    
        <!-- Bootstrap CSS -->
        <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet">
    
        <title>Student Create</title>
    </head>
    
    <body>
    
        <div class="container mt-5">
    
            <?php include('message.php'); ?>
    
            <div class="row">
                <div class="col-md-12">
                    <div class="card">
                        <div class="card-header">
                            <h4>Student Add
                                <a href="index.php" class="btn btn-danger float-end">BACK</a>
                            </h4>
                        </div>
                        <div class="card-body">
                            <form action="code.php" method="POST">
    
                                <div class="mb-3">
                                    <label>Student Name</label>
                                    <input type="text" name="name" class="form-control">
                                </div>
                                <div class="mb-3">
                                    <label>Student Email</label>
                                    <input type="email" name="email" class="form-control">
                                </div>
                                <div class="mb-3">
                                    <label>Student Phone</label>
                                    <input type="text" name="phone" class="form-control">
                                </div>
                                <div class="mb-3">
                                    <label>Student Course</label>
                                    <input type="text" name="course" class="form-control">
                                </div>
                                <div class="mb-3">
                                    <button type="submit" name="save_student" class="btn btn-primary">Save Student</button>
                                </div>
    
                            </form>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    
        <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>
    </body>
    
    </html>

    Output:

    Step 2: Create a file dbcon.php for the  Database Connection in PHP MySQL.

    <?php
    
    $con = mysqli_connect("localhost","root","","blog");
    
    if(!$con){
        die('Connection Failed'. mysqli_connect_error());
    }
    
    ?>

    Step 3: Create a file named message.php file and this file will be used to display the message in every file where ever is required.

    <?php
        if(isset($_SESSION['message'])) :
    ?>
    
        <div class="alert alert-warning alert-dismissible fade show" role="alert">
            <strong>Hey!</strong> <?= $_SESSION['message']; ?>
            <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
        </div>
    
    <?php 
        unset($_SESSION['message']);
        endif;
    ?>

    Step 4: Create a file named index.php and fetch data from database as given below code:

    <?php
        session_start();
        require 'dbcon.php';
    ?>
    <!doctype html>
    <html lang="en">
    
    <head>
        <!-- Required meta tags -->
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
    
        <!-- Bootstrap CSS -->
        <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet">
    
        <title>Student CRUD</title>
    </head>
    
    <body>
    
        <div class="container mt-4">
    
            <?php include('message.php'); ?>
    
            <div class="row">
                <div class="col-md-12">
                    <div class="card">
                        <div class="card-header">
                            <h4>Student Details
                                <a href="create-student.php" class="btn btn-primary float-end">Add Students</a>
                            </h4>
                        </div>
                        <div class="card-body">
    
                            <table class="table table-bordered table-striped">
                                <thead>
                                    <tr>
                                        <th>ID</th>
                                        <th>Student Name</th>
                                        <th>Email</th>
                                        <th>Phone</th>
                                        <th>Course</th>
                                        <th>Action</th>
                                    </tr>
                                </thead>
                                <tbody>
                                    <?php 
                                        $query = "SELECT * FROM students";
                                        $query_run = mysqli_query($con, $query);
    
                                        if(mysqli_num_rows($query_run) > 0)
                                        {
                                            foreach($query_run as $student)
                                            {
                                                ?>
                                    <tr>
                                        <td>
                                            <?= $student['id']; ?>
                                        </td>
                                        <td>
                                            <?= $student['name']; ?>
                                        </td>
                                        <td>
                                            <?= $student['email']; ?>
                                        </td>
                                        <td>
                                            <?= $student['phone']; ?>
                                        </td>
                                        <td>
                                            <?= $student['course']; ?>
                                        </td>
                                        <td>
                                            <a href="student-view.php?id=<?= $student['id']; ?>"
                                                class="btn btn-info btn-sm">View</a>
                                            <a href="student-edit.php?id=<?= $student['id']; ?>"
                                                class="btn btn-success btn-sm">Edit</a>
                                            <form action="code.php" method="POST" class="d-inline">
                                                <button type="submit" name="delete_student" value="<?=$student['id'];?>"
                                                    class="btn btn-danger btn-sm">Delete</button>
                                            </form>
                                        </td>
                                    </tr>
                                    <?php
                                            }
                                        }
                                        else
                                        {
                                            echo "<h5> No Record Found </h5>";
                                        }
                                    ?>
    
                                </tbody>
                            </table>
    
                        </div>
                    </div>
                </div>
            </div>
        </div>
    
        <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>
    
    </body>
    
    </html>

    Step 5: Create a file named sudent-edit.php for edit and update data in php: 

    <?php
    session_start();
    require 'dbcon.php';
    ?>
    
    <!doctype html>
    <html lang="en">
      <head>
        <!-- Required meta tags -->
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
    
        <!-- Bootstrap CSS -->
        <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet">
    
        <title>Student Edit</title>
    </head>
    <body>
      
        <div class="container mt-5">
    
            <?php include('message.php'); ?>
    
            <div class="row">
                <div class="col-md-12">
                    <div class="card">
                        <div class="card-header">
                            <h4>Student Edit 
                                <a href="index.php" class="btn btn-danger float-end">BACK</a>
                            </h4>
                        </div>
                        <div class="card-body">
    
                            <?php
                            if(isset($_GET['id']))
                            {
                                $student_id = mysqli_real_escape_string($con, $_GET['id']);
                                $query = "SELECT * FROM students WHERE id='$student_id' ";
                                $query_run = mysqli_query($con, $query);
    
                                if(mysqli_num_rows($query_run) > 0)
                                {
                                    $student = mysqli_fetch_array($query_run);
                                    ?>
                                    <form action="code.php" method="POST">
                                        <input type="hidden" name="student_id" value="<?= $student['id']; ?>">
    
                                        <div class="mb-3">
                                            <label>Student Name</label>
                                            <input type="text" name="name" value="<?=$student['name'];?>" class="form-control">
                                        </div>
                                        <div class="mb-3">
                                            <label>Student Email</label>
                                            <input type="email" name="email" value="<?=$student['email'];?>" class="form-control">
                                        </div>
                                        <div class="mb-3">
                                            <label>Student Phone</label>
                                            <input type="text" name="phone" value="<?=$student['phone'];?>" class="form-control">
                                        </div>
                                        <div class="mb-3">
                                            <label>Student Course</label>
                                            <input type="text" name="course" value="<?=$student['course'];?>" class="form-control">
                                        </div>
                                        <div class="mb-3">
                                            <button type="submit" name="update_student" class="btn btn-primary">
                                                Update Student
                                            </button>
                                        </div>
    
                                    </form>
                                    <?php
                                }
                                else
                                {
                                    echo "<h4>No Such Id Found</h4>";
                                }
                            }
                            ?>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    
        <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>
    </body>
    </html>

    Output:

    Step 6: Create a file named student-view.php and display data by specific id.

    <?php
    require 'dbcon.php';
    ?>
    <!doctype html>
    <html lang="en">
      <head>
        <!-- Required meta tags -->
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
    
        <!-- Bootstrap CSS -->
        <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet">
    
        <title>Student View</title>
    </head>
    <body>
    
        <div class="container mt-5">
    
            <div class="row">
                <div class="col-md-12">
                    <div class="card">
                        <div class="card-header">
                            <h4>Student View Details 
                                <a href="index.php" class="btn btn-danger float-end">BACK</a>
                            </h4>
                        </div>
                        <div class="card-body">
    
                            <?php
                            if(isset($_GET['id']))
                            {
                                $student_id = mysqli_real_escape_string($con, $_GET['id']);
                                $query = "SELECT * FROM students WHERE id='$student_id' ";
                                $query_run = mysqli_query($con, $query);
    
                                if(mysqli_num_rows($query_run) > 0)
                                {
                                    $student = mysqli_fetch_array($query_run);
                                    ?>
                                    
                                        <div class="mb-3">
                                            <label>Student Name</label>
                                            <p class="form-control">
                                                <?=$student['name'];?>
                                            </p>
                                        </div>
                                        <div class="mb-3">
                                            <label>Student Email</label>
                                            <p class="form-control">
                                                <?=$student['email'];?>
                                            </p>
                                        </div>
                                        <div class="mb-3">
                                            <label>Student Phone</label>
                                            <p class="form-control">
                                                <?=$student['phone'];?>
                                            </p>
                                        </div>
                                        <div class="mb-3">
                                            <label>Student Course</label>
                                            <p class="form-control">
                                                <?=$student['course'];?>
                                            </p>
                                        </div>
    
                                    <?php
                                }
                                else
                                {
                                    echo "<h4>No Such Id Found</h4>";
                                }
                            }
                            ?>
                        </div>
                    </div>
                </div>
            </div>
        </div>
        
        <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>
    </body>
    </html>

    Output:

    Step 7: Create a file named code.php and paste the below code.

    <?php
    session_start();
    require 'dbcon.php';
    
    if(isset($_POST['save_student']))
    {
        $name = mysqli_real_escape_string($con, $_POST['name']);
        $email = mysqli_real_escape_string($con, $_POST['email']);
        $phone = mysqli_real_escape_string($con, $_POST['phone']);
        $course = mysqli_real_escape_string($con, $_POST['course']);
    
        $query = "INSERT INTO students (name,email,phone,course) VALUES ('$name','$email','$phone','$course')";
    
        $query_run = mysqli_query($con, $query);
        if($query_run)
        {
            $_SESSION['message'] = "Student Created Successfully";
            header("Location: index.php");
            exit(0);
        }
        else
        {
            $_SESSION['message'] = "Student Not Created";
            header("Location: index.php");
            exit(0);
        }
    }
    
    if(isset($_POST['delete_student']))
    {
        $student_id = mysqli_real_escape_string($con, $_POST['delete_student']);
    
        $query = "DELETE FROM students WHERE id='$student_id' ";
        $query_run = mysqli_query($con, $query);
    
        if($query_run)
        {
            $_SESSION['message'] = "Student Deleted Successfully";
            header("Location: index.php");
            exit(0);
        }
        else
        {
            $_SESSION['message'] = "Student Not Deleted";
            header("Location: index.php");
            exit(0);
        }
    }
    
    if(isset($_POST['update_student']))
    {
        $student_id = mysqli_real_escape_string($con, $_POST['student_id']);
    
        $name = mysqli_real_escape_string($con, $_POST['name']);
        $email = mysqli_real_escape_string($con, $_POST['email']);
        $phone = mysqli_real_escape_string($con, $_POST['phone']);
        $course = mysqli_real_escape_string($con, $_POST['course']);
    
        $query = "UPDATE students SET name='$name', email='$email', phone='$phone', course='$course' WHERE id='$student_id' ";
        $query_run = mysqli_query($con, $query);
    
        if($query_run)
        {
            $_SESSION['message'] = "Student Updated Successfully";
            header("Location: index.php");
            exit(0);
        }
        else
        {
            $_SESSION['message'] = "Student Not Updated";
            header("Location: index.php");
            exit(0);
        }
    
    }
    
    
    ?>

    Thanks for Visiting

    Related Posts

    How to Install Node.js and npm (Step-by-Step Guide)

    How to Install Node.js and npm (Step-by-Step Guide) Node.js is a JavaScript runtime built on Chrome’s V8 JavaScript engine, and npm (Node Package Manager) is the package Read More

    Read More

    Creating a WordPress Post with Google Image Search Results in PHP

    In this blog post, we will explore a PHP script that utilizes the Google Custom Search API to search for images based on user-defined keywords. We’ll also Read More

    Read More

    How to Automatically Generate Image Search Queries Based on Keywords Using Google API

    To automatically generate image search queries using Google API, you can use the Custom Search JSON API. Here’s a step-by-step guide: Step 1: Create a Google Cloud Read More

    Read More

    How to Build an Image Search Engine with Google Custom Search API and PHP

    Building an image search engine using the Google Custom Search API and PHP involves several steps. Here is a detailed guide: Prerequisites Step 1: Create a Custom Read More

    Read More

    What is Composer, and why is it used in PHP development?

    Composer is a dependency management tool specifically designed for PHP. It streamlines the process of managing libraries and packages required for PHP projects, making development more efficient Read More

    Read More

    Understanding PHP Data Types: A Comprehensive Guide with Examples

    In PHP, data types refer to the various kinds of data that can be stored and manipulated within the language. PHP is a loosely typed language, meaning Read More

    Read More
    Subscribe
    Notify of
    guest
    0 Comments
    Oldest
    Newest Most Voted
    Inline Feedbacks
    View all comments
    0
    Would love your thoughts, please comment.x
    ()
    x