clock  Mon - Sun 8.00 AM - 8.00 PM
mail  edu@teknowize.com
fb
instagram
play store
pinterest

How to Insert and fetch image from MySql Database using PHP

  Hariom Prajapati
  19 Aug 2022
  PHP
Imperial Advance Hero Image

How to Insert and fetch image from MySql Database using PHP

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

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 -