PhpRiot
Download Article
Download this article in PDF format with all listings and files.

Price: $5.00 AUD
(Approx. $4.35 USD)

More information
Related Books
PHP and MySQL Web Development (4th Edition)

PHP and MySQL Web Development (4th Edition)

PHP and MySQL are popular open-source technologies that are ideal for quickly developing...

Learning PHP, MySQL, and JavaScript: A Step-By-Step Guide to Creating Dynamic Websites (Animal Guide)

Learning PHP, MySQL, and JavaScript: A Step-By-Step Guide to Creating Dynamic Websites (Animal Guide)

If you know HTML, this guide will have you building interactive websites quickly. You'll learn...
PhpRiot Newsletter
Your Email Address:

More information

Storing Images In MySQL

Note: This article has been replaced by Storing Images in MySQL Revisited (by Quentin Zervaas, 2010). We've left this article here for historical purposes, but we strongly recommend you use the newer article instead.

Creating An Image Table

Of course we need to create a table to store our images in. Here is a simple table:

Listing 2 listing-2.sql
create table testblob (
    image_id        tinyint(3)  not null default '0',
    image_type      varchar(25) not null default '',
    image           blob        not null,
    image_size      varchar(25) not null default '',
    image_ctgy      varchar(25) not null default '',
    image_name      varchar(50) not null default ''
);

Ok, nothing dramatic here, but let’s break it down.

First we have an id field, this should be an auto incremented field so we avoid confusion when selecting.

Next we have the image type (mime type). This is handy as we can use PHP to determine this and use it for sending the correct headers when we need to display the image.

Next we have the image_blob field. This is the field that will contain the actual image data.

Then we have the image size as determined by getimagesize().

Then we have a category for our images, you may wish to have have a second table of categories to populate your form dropdown for this. But for our purposes we will only be using three.

Finally, we have the image name. You can add more items to this table such as exif info and descriptions, but for our purposes we will keep it simple.

In This Article


Article History

May 30, 2005
Initial article version
Jan 18, 2008
Updated listing 5 to not include non-existent conf.php