There's lots of clever scripts around to tell you how to get images in and out of databases, but nothing simple to show you the principles of including such an image via (say) PHP in a web page. So here goes.
you need TWO URLs - you need the HTML page that's going to contain the image, AND you need a second URL - PHP in my example - that's going to retrieve the image and feed it out as part of the page. You CANNOT feed out both the HTML and the image from the same http request.
Here's a sample HTML page we're going to include an image in:
<html>
<head>
<title>Demo of Database Image in a page</title>
</head>
<body>
Here is your picture:<br>
<img src=picscript.php?imname=potwoods><br>
Example by Well House Consultants
</body>
</html>
Then you need the PHP script - called picscript.php in the same directory in my example:
<?php
mysql_connect("localhost","wellho","xxxxxxx");
mysql_select_db("wellho");
$image = stripslashes($_REQUEST[imname]);
$rs = mysql_query("select * from im_library where filename=\"".
addslashes($image).".jpg\"");
$row = mysql_fetch_assoc($rs);
$imagebytes = $row[imgdata];
header("Content-type: image/jpeg");
print $imagebytes;
?>
If you want to try it out, then the HTML page is
here.
Want to take this further?
As a next step, I would validate the connection after the mysql_connect, and check that an image really had been returned by the mysql_query ... substituting a default image if not.
We host a complete working example of image upload, save to database, select from database and display all via a PHP script. See
article on the subject
There's a
forum discussion here.
(written 2006-11-22 16:48:22)
Associated topics are indexed under
G912 - Well House Consultants - Photography for the Web [2592] Re-using our pictures - (2010-01-21)
[2252] Leaping dog, Leaping horse, copyright of old masters - (2009-06-20)
[2224] Trowbridge - a missed opportunity? Melksham - into the breach? - (2009-06-08)
[1895] Comparison - with and without flash - (2008-11-20)
[1732] Old pictures and comparisons - (2008-08-01)
[1568] What colour is the season? - (2008-03-08)
[1506] Ongoing Image Copyright Issues, PHP and MySQL solutions - (2008-01-14)
[1396] Using PHP to upload images / Store on MySQL database - security questions - (2007-10-19)
[1194] Drawing hands on a clock face - PHP - (2007-05-19)
[1188] What shape is your shake? - (2007-05-15)
[1185] Themes for the web site - (2007-05-13)
[1114] PHP Image upload script - (2007-03-21)
[1087] Telling a story in different ways - (2007-02-20)
[819] My projector has a photo-id - (2006-07-31)
[665] PHP Image viewing application - (2006-04-01)
[563] Merging pictures using PHP and GD - (2006-01-13)
[553] Keep that image small - (2006-01-03)
[546] The relevance of the hairy woodpecker - (2005-12-28)
[194] Published Photographer - (2005-01-30)
[97] What makes a professional photographer? - (2004-10-23)
H113 - Using MySQL Databases in PHP Pages [2561] The future of MySQL - (2010-01-03)
[2447] MySQL stored procedures / their use on the web from PHP - (2009-10-10)
[2432] Using print_r in PHP to explore mysql database requests - (2009-10-01)
[2320] Helping new arrivals find out about source code examples - (2009-08-03)
[2259] Grouping rows for a summary report - MySQL and PHP - (2009-06-27)
[2071] Setting up a MySQL database from PHP - (2009-03-08)
[1983] Keeping PHP code in database and running it - (2009-01-09)
[1561] Uploading to a MySQL database through PHP - examples and common questions - (2008-03-02)
[1010] Dates, times, clickable diarys in PHP - (2006-12-28)
[947] What is an SQL injection attack? - (2006-11-27)
[915] Paging through hundreds of entries - (2006-11-05)
[723] Viewing images held in a MySQL database via PHP - (2006-05-17)
[666] Database design - get it right from first principles - (2006-04-02)
[647] Checking for MySQL errors - (2006-03-15)
[581] Saving a MySQL query results to your local disc for Excel - (2006-01-29)
[572] Giving the researcher power over database analysis - (2006-01-22)
[515] MySQL - an FAQ - (2005-12-03)
[104] mysql_connect or mysql_pconnect in PHP? - (2004-10-30)
H309 - PHP - Maps, Graphics and Geographics [2583] Reducing image size on digital photos - PHP - (2010-01-17)
[2390] Dynamic / changing images on your web page - (2009-09-01)
[2361] Geocoding - converting address to latitude / Longitude with PHP via Google - (2009-08-14)
[2343] World Flags in your PHP pages - (2009-08-10)
[1956] Images for Christmas - (2008-12-21)
[1923] Making it all worthwhile - (2008-12-04)
[1756] Ever had One of THOSE mornings? - (2008-08-16)
[1752] Dynamic maps / geographics in PHP - (2008-08-13)
[1734] All around the world? - (2008-08-03)
[1724] addslashes v mysql_real_escape_string in PHP - (2008-07-27)
[1628] Gant charts - drawing them with a PHP script - (2008-05-03)
[1391] Ordnance Survey Grid Reference to Latitude / Longitude - (2007-10-14)
[1390] Converting from postal address to latitude / longitude - (2007-10-13)
[1389] Controlling and labelling Google maps via PHP - (2007-10-13)
[1104] Drawing dynamic graphs in PHP - (2007-03-09)
[320] Ordnance Survey - using a 'Get a map' - (2005-05-22)
H999 - Additional PHP Material [2215] If nothing, make it nothing. - (2009-06-02)
[2073] Extra PHP Examples - (2009-03-09)
[1623] PHP Techniques - a workshop - (2008-04-26)
[1519] Flipping images on your web page - (2008-01-26)
[1505] Script to present commonly used images - PHP - (2008-01-13)
[1485] Copyright and theft of images, bandwidth and members. - (2007-12-26)
[1451] More PHP sample and demonstration programs - (2007-12-01)
[1270] PHP Standalone - keyboard to screen - (2007-07-18)
[1053] Sorting people by name in PHP - (2007-01-26)
[1020] Parallel processing in PHP - (2007-01-03)
[917] Syntax checking in PHP - (2006-11-07)
[839] Reporting on the 10 largest files or 10 top scores - (2006-08-20)
[822] PHP - a team member leaves - (2006-08-04)
[806] Check your user is human. Have him retype a word in a graphic - (2006-07-17)
[789] Hot answers in PHP - (2006-07-02)
[687] Presentation, Business and Persistence layers in Perl and PHP - (2006-04-17)
[603] PHP - setting sort order with an associative array - (2006-02-13)
[493] Running a Perl script within a PHP page - (2005-11-12)
[483] Double Dollars in PHP - (2005-11-02)
[468] Stand alone PHP programs - (2005-10-18)
[372] Time calculation in PHP - (2005-07-08)
[337] the array returned by preg_match_all - (2005-06-06)
[322] More maps - (2005-05-23)
[239] What and why for the epoch - (2005-03-08)
[54] PHP and natural sorting - (2004-09-19)
S154 - MySQL - Designing an SQL Database System [2204] Images in a database? How big is a database? (MySQL) - (2009-05-28)
[2085] MySQL - licensing issues, even with using the name - (2009-03-16)
[2053] What a difference a MySQL Index made - (2009-02-25)
[1771] More HowTo diagrams - MySQL, Tomcat and Java - (2008-08-24)
[1575] Database design for a shopping application (MySQL) - (2008-03-15)
[1423] MySQL - table design and initial testing example - (2007-11-06)
[945] Code quality counts - (2006-11-26)
[918] Databases needn't be frightening, hard or expensive - (2006-11-08)
[494] MySQL - a score of things to remember - (2005-11-12)
[375] Oops - I got my initial database design wrong - (2005-07-12)
[361] Binary Large Objects or bars - (2005-06-27)
[59] MySQL - Pivot tables - (2004-09-22)
Some other Articles
SnaggingWinter at Well House Manor - Open HousesSwipe cards for hotel rooms - Security issuesBratton and Edington new town, WiltshireDisplay an image from a MySQL database in a web page via PHPGlobal, Superglobal, Session variables - scope and persistance in PHPAutumn leaves in Wiltshire - PotterneClustering, load balancing, mod_rewrite and mod_proxyCourse Joining package - updatedA tale of a wee wall