Bruce Gilbert wrote:
I am having some difficulty getting an image to display on a php that
I have added to MySQL DB.
Here is what I have tried so far....
in the MySQL DB I have a table called image_holder and the fields are
id,mimename,filecontents...filecontents field is set to a type of blob
using PHPMyAdmin and I have uploaded the image in MySQL.
In the PHP code I have:
[php]
<?php
$dbhost = 'hostaddress';
$dbuser = 'username';
$dbpass = 'password;
$dbcnx = @mysql_connect($dbhost,$dbuser,$dbpass);
if (!$dbcnx)
{
echo( "connection to database server failed!");
exit();
}
if (! @mysql_select_db("image_holder") )
{
echo( "Image Database Not Available!" );
exit();
}
DON'T USE REQUEST
only use it from where you expect it to be, in this case, $_GET
$img = $_REQUEST["img"];
I see you calling a table called images not image_holder as stated
previously.
$result = @mysql_query("SELECT * FROM images WHERE id=" . $img . "");
if (!$result)
{
echo("Error performing query: " . mysql_error() . "");
exit();
}
you don't need a while loop here, get rid of it.
while ( $row = @mysql_fetch_array($result) )
{
$imgid = $row["id"];
$encodeddata = $row["mimetype"];
$title = $row['filecontents'];
}
here is the end, but I see no echoing headers or of the data????
you need to spit out headers for the given type of image and then echo
the data and then exit.
$result = @mysql_query("SELECT * FROM images WHERE id=" . $img . "");
if (!$result) {
echo("Error performing query: " . mysql_error() . "");
exit();
}
if ( ( $row = @mysql_fetch_array($result) ) === FALSE ) {
header("Content-Type: {$row['mimetype']}");
echo $row['filecontents'];
exit();
}
?>
and in the HTML code
<center><img src="image.php?img=1" width="200" border="1" alt=""></center>
I am probably way off base, so need some help!
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php