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
Mary-Kate OlsenOriginal
2024-10-30 15:15:03960browse

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>

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>

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>

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!

Statement:
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