How To Upload,Insert Image As A Blob In Mysql Database And Display It Using Php

How To Upload,Insert Image As A Blob In Mysql Database And Display It Using Php – Instructions With Source Code



How To Upload,Insert Image As A Blob In Mysql Database And Display It Using Php

The image is uploaded in mysql database, blob column. After the image is saved in the database, It’s displayed instantly on your browser next to the file upload input box. To select image from the computer i have used html form. As you know, mostly images are uploaded or inserted in specific folder in the server and its name stored in mysql database or any database. Well, this tutorial shows how to save and retrieve images as a blob from the database.


<?php

//This code shows how to save image im mysql database using php, sql and html.
//The image is uploaded using php and sql.
//It's a web-based application that can be accessed by using a browser.
//This is for educational purposes only, Use it at your own risk.

//Connect to server
$servername = "localhost";
$username = "root";
$password = "";
$conn = mysqli_connect($servername, $username, $password);
if ($conn) {
echo "Connected to server successfully";
} else {
die( "Failed To Connect to server ". mysqli_connect_error() );
}

$selectalreadycreateddatabase = mysqli_select_db($conn, "PhpMysqlDatabaseBlobImageUpload"); 
if ($selectalreadycreateddatabase) {
echo "<br /> Existing database selected successfully";
} else {
echo "<br /> Selected Database Not Found";
$createNewDb = "CREATE DATABASE IF NOT EXISTS `PhpMysqlDatabaseBlobImageUpload`";
if (mysqli_query($conn, $createNewDb)) {
echo "<br />New Database Created Successfullly";
$selectCreatedDatabase = mysqli_select_db($conn, "PhpMysqlDatabaseBlobImageUpload");
if ($selectCreatedDatabase) {
echo "<br />Created Database Selected Successfullly";
// Creating new table 
$sqlcreatetable = "
CREATE TABLE IF NOT EXISTS `imageuploadphpmysqlblob` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(100) NOT NULL,
`image` longblob NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
";

if (mysqli_query($conn, $sqlcreatetable)) {
echo "<br />New table Created";
} else {
echo "<br /> Unable to create new table.";
}

}
} else {
echo "Unable to create database";

}
}

if (isset($_POST['submit'])) {
if (getimagesize($_FILES['imagefile']['tmp_name']) == false) {
echo "<br />Please Select An Image.";
} else {

//declare variables
$image = $_FILES['imagefile']['tmp_name'];
$name = $_FILES['imagefile']['name'];
$image = base64_encode(file_get_contents(addslashes($image)));

$sqlInsertimageintodb = "INSERT INTO `imageuploadphpmysqlblob`(`name`, `image`) VALUES ('$name','$image')";
if (mysqli_query($conn, $sqlInsertimageintodb)) {
echo "<br />Image uploaded successfully.";
} else {
echo "<br />Image Failed to upload.<br />";
}

}

} else {
# code...
}

//Retrieve image from database and display it on html webpage
function displayImageFromDatabase(){
//use global keyword to declare conn inside a function
global $conn;
$sqlselectimageFromDb = "SELECT * FROM `imageuploadphpmysqlblob` ";
$dataFromDb = mysqli_query($conn, $sqlselectimageFromDb);
while ($row = mysqli_fetch_assoc($dataFromDb)) {
echo '<img height="250px" width="250px" src=data:image;base64,'.$row&#91;'image'&#93;.'/>';
}


}
//calling the function to display image
displayImageFromDatabase();

//Finnaly close connection
if (mysqli_close($conn)) {
echo "<br />Connection Closed.......";
}


?>
<!DOCTYPE html>
<html>
<head>
<title>How To upload BLOB Image To Mysql Database Using PHP,SQL And HTML.</title>
</head>
<body>
<form action="" method="post" enctype="multipart/form-data">
<input type="file" name="imagefile">
<br />
<input type="submit" name="submit" value="Upload">

</form>
</body>
</html>

How To Upload,Insert Image As A Blob In Mysql Database And Display It Using Php
How To Upload,Insert Image As A Blob In Mysql Database And Display It Using Php
How To Upload,Insert Image As A Blob In Mysql Database And Display It Using Php
How To Upload,Insert Image As A Blob In Mysql Database And Display It Using Php

Leave a Reply

Your email address will not be published. Required fields are marked *