Home > Database > Mysql Tutorial > How to Display the Last Five BLOB Images from a MySQL Database in PHP?

How to Display the Last Five BLOB Images from a MySQL Database in PHP?

Mary-Kate Olsen
Release: 2024-10-30 15:15:03
Original
963 people have browsed it

How to Display the Last Five BLOB Images from a MySQL Database in PHP?

Displaying BLOB Images from MySQL Database

In your question, you expressed interest in showcasing the last five BLOB images uploaded to your MySQL database table named "store." As a beginner in PHP and database handling, this task might seem daunting. Let's break it down into manageable steps.

Storing Images in MySQL

Your code for storing images in the database appears to be functional. It uses file_get_contents() to read the binary data of the uploaded file and addslashes() to escape special characters. You then insert this data into the "store" table along with the image name and size.

Retrieving the Last Five Images

To retrieve the last five uploaded images, you can use a MySQL query like this:

<code class="sql">SELECT id, image FROM store ORDER BY id DESC LIMIT 5</code>
Copy after login

This query orders the results in descending order of the id column, effectively fetching the last five images inserted.

Displaying the Images

To display the images on the web page, you can use the following PHP code:

<code class="php">$result = mysqli_query($db, $sql); // Execute the SQL query
while ($row = mysqli_fetch_assoc($result)) { // Iterate over the result rows
    echo "<img src='get.php?id=" . $row['id'] . "' />"; // Display the image using the `get.php` script
}</code>
Copy after login

The above code uses a while loop to iterate over the result rows and displays an img tag for each row. The source of the image is set to get.php, which is a separate PHP script responsible for fetching the actual image data from the database.

get.php Script

The get.php script should look something like this:

<code class="php">$id = addslashes($_GET['id']); // Get the image ID from the URL
$image = mysqli_query($db, "SELECT image FROM store WHERE id=$id"); // Fetch the image data
$image = mysqli_fetch_assoc($image); // Retrieve the image data as an array
header("Content-type: image/jpeg"); // Set the content type for the image
echo $image['image']; // Output the binary image data</code>
Copy after login

This script fetches the image data for the specified id and outputs it with the correct MIME type, allowing the browser to render the image.

Conclusion

By following these steps, you can successfully display a gallery of the last five images uploaded to your MySQL database in PHP. Remember to adjust the SQL query and PHP code according to your table and column names, and consider optimizing your code for performance, especially if working with large image files.

The above is the detailed content of How to Display the Last Five BLOB Images from a MySQL Database in PHP?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template