How to Insert and Fetch Image from MySql Database using PHP

AuthorHariom Prajapati

Pubish Date02 Jul 2022

categoryPHP

In this tutorial we learn how to Insert Image in database and how to fetch image from database.

 

How to Insert and Fetch Image from MySql Database using PHP

 

How to Insert and fetch image from MySql Database using PHP

Let's follow all the below steps to fetch image from DB using PHP

 

Step 1-  Create table in database

Below created a images table for insert image file name and tile .

 

Step 2- Create a index.php page

 <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>upload image</title>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
</head>
<body>

<form class="" action="image_insert.php" method="POST"  enctype="multipart/form-data"> 
    <div class=" col-4 p-2 border m-2">
    <h3>Upload Image In Your Database</h3>
    <input type="text" name="image_title" class="form-control" placeholder="Enter image title" ><br>
    <input type="file" name="image_upload"  accept="image/*" class="form-control"  value="" /> <br>
    <button class="btn btn-primary w-100">Upload</button>
    </div>
</form> 

<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>

<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>

<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>

</body>

</html>

 

Output 

 

Step 3- Create a folder

You need to create a folder with any name to store uploaded image in it. Here we use 'images' name as a folder name.

 

Step 4 – Create  image_insert.php file

In this page we get the form data from form when form is submit and then insert these data to database using mysql.

<?php
$conn = mysqli_connect("localhost","root","","teknowize");

$title = $_POST['image_title'];                  // image title
$image  = $_FILES['image_upload'];              // get image from post data 
$image_name=$image['name'];                   // image name
$image_tmp_name=$image['tmp_name'];          // temp file path
$destination="images/".$image_name;       // Folder path Where Image saved
move_uploaded_file($image_tmp_name , $destination);   // this function are used to store the file in destination path 
$query="INSERT INTO `images`( `title` , `image`) VALUES ( '{$title}' , '{$image_name}') ";
$result=mysqli_query($conn , $query);
?>

 

mysqli_connect() -

This function is used to make connection with database.

 

move_uploaded_file() -

This function is used to store image in your destination folder which you created above.

 

Output 

This output showing that the image which we uploaded is successfully moved/uploaded to image folder.

 

This output showing that the image which we uploaded is successfully inserted to the database.

 

Step 5 – Create  fetch_image.php file and insert below code in it.

In this file we show the uploaded images from the database.

<?php
$conn = mysqli_connect("localhost","root","","teknowize");
$query="SELECT * FROM `images`";
$result=mysqli_query($conn , $query);
?> 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Image list</title>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous"> 

</head>
<body>
    <div class="col-6 border m-2">
    <h3>Image list</h3>
        <table class="table table-bordered"> 
            <thead>
                <tr>
                    <th>#</th>
                    <th>Title</th>
                    <th>Image</th>
                </tr>
            </thead>
            <tbody>
                <?php
                while($fetch=mysqli_fetch_assoc($result)){
                    echo  "<tr>";
                    echo "<td>{$fetch['id']}</td>";
                    echo "<td>{$fetch['title']}</td>";
                    echo "<td><img src='images/{$fetch['image']}' width='100'></td>";
                    echo " </tr>";
                }
                ?>
            </tbody>
        </table>
    </div>
</body>
</html>

 

Output 

 

Comments 0

Leave a comment