In this tutorial about Upload and Show Image Using PHP/MYSQL, you will learn on how to upload an image in the database and show it in a page after uploading the image.
First, create a database and name it as any name you desire. Then create a table, name it as “photos“.
[sql]CREATE TABLE `photos` ( `photo_id` int(11) NOT NULL, `photo_link` text NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1;[/sql]On the index page, put the following codes.
[php]<?php include 'connection.php'; ?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Upload Photo in PHP & MYSQL</title>
</head>
<body>
<h3>Upload and Show Photo in PHP & MYSQL</h3>
<?php
if (isset($_GET['upload_action'])) {
if ($_GET['upload_action'] == "success") { ?>
<b>Photo Successfully Uploaded</b>
<?php }
}
?>
<form method="post" action="upload.php" enctype="multipart/form-data">
<label>Choose Photo:</label><br>
<input type="file" name="photo" /><br><br>
<input type="submit" value="Upload" />
</form><br>
<?php
$photos = $mysqli->query("SELECT * FROM photos");
?>
<b><?php echo $photos->num_rows ?></b> total photos uploaded<br><br>
<?php
while ($photo_data = $photos->fetch_assoc()) { ?>
<img src="<?php echo $photo_data['photo_link']; ?>" width="200px" height="200px" />
<?php }
?>
</body>
</html>[/php]Create an “upload.php” file then put the following codes.
[php]<?php
include 'connection.php';
if ($_FILES['photo']['name'] != null) {
move_uploaded_file($_FILES['photo']['tmp_name'], "images/" . $_FILES['photo']['name']);
$img_link = "images/" . $_FILES['photo']['name'];
$upload = $mysqli->query("INSERT INTO photos (photo_link) VALUES ('$img_link')") or die($mysqli->error);
if ($upload) {
header("Location: index.php?upload_action=success");
} else if (!$upload) {
echo $mysqli->error;
}
} else if ($_FILES['photo']['name'] == null) {
echo 'Please choose a photo.';
}
?>[/php]Screenshot:

If you have any questions or suggestion about Upload and Show Image Using PHP/MYSQL, please feel free to contact us at our contact page.
Frequently Asked Questions
How does PHP file upload work in this example?
Form with enctype=’multipart/form-data’, PHP move_uploaded_file() for filesystem storage. Validate via $_FILES[‘file’][‘type’] + filesize check. Track filename + path in MySQL. Display via standard or .
What PHP and MySQL versions does this project require?
Most projects in this batch run on PHP 7.4 to PHP 8.2 with MySQL 5.7+ or MariaDB 10+. A few older projects need PHP 5.6 (deprecated, use XAMPP 7.x). To run: install XAMPP / WAMP / Laragon, extract project to htdocs, import the included .sql file via phpMyAdmin, edit the connection file (usually config.php or db_connect.php) with your DB credentials, browse to the project URL in your browser.
How do I set up the database for this PHP project?
Open phpMyAdmin (http://localhost/phpmyadmin/ on XAMPP), create a new empty database with the name specified in the project’s config.php. Click the Import tab, choose the included .sql file, click Go. Then edit config.php (or includes/connection.php) with: ‘localhost’, your MySQL username (usually ‘root’), your MySQL password (usually blank for XAMPP), and the database name.
Can I use this PHP project for a BSIT capstone or thesis?
Yes, but extend it. A bare CRUD app is too narrow for full capstone scope. Add: user roles via session checks, reports/dashboards (Chart.js + AJAX), PDF exports (TCPDF library), email notifications (PHPMailer), real domain extension (analytics, audit log, multi-branch support). Pair with Chapter 1-5 documentation matching your panel’s rubric.
Why am I getting ‘connection error’ or ‘undefined function mysqli_connect’?
Three common PHP issues: (1) Connection error: Apache + MySQL services not running in XAMPP control panel, OR database name in config.php does not match what you created in phpMyAdmin. (2) ‘undefined function mysqli_connect’: MySQL extension not enabled, in php.ini uncomment extension=mysqli (then restart Apache). (3) ‘No such file or directory’: MySQL socket path wrong, use 127.0.0.1 instead of localhost in the connection string.
Where can I find more PHP projects with source code?
Browse the PHP Projects hub for the full library (300+ vanilla PHP systems). For modern PHP MVC alternatives see Laravel Projects (74 systems) or CodeIgniter Projects (32 systems). For BSIT-focused capstone idea lists see 150 Best Capstone Project Ideas.
