In this tutorial we learn how to Insert Image in database and how to fetch image from database.
Below created a images table for insert image file name and tile .
<!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 –
You need to create a folder with any name to store uploaded image in it. Here we use 'images' name as a folder name.
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.
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 -