954,148 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

displaying image from database

Hello guys! Greetings to everyone! I have tried the following code but it doesn't display images, it only stores data. Here's the code in displaying images: <?php if ($submit) { $link=mysql_connect("localhost","root","1234"); if(!$link) die("Could not connect to MySQL"); $db=mysql_select_db("test",$link); $data = addslashes(fread(fopen($form_data, "rb"), filesize($form_data))); $result=MYSQL_QUERY("INSERT INTO binary_data (description,bin_data,filename,filesize,filetype) ". "VALUES ('$form_description','$data','$form_data_name','$form_data_size','$form_data_type')"); $id= mysql_insert_id(); print "This file has the following Database ID: $id"; print "getdata.php?id=".$id"; MYSQL_CLOSE(); } else { ?>


File Description:

File to upload/store in database:



<?php
}
?>

It stores data in my database(means working, please check if there is conflict. i hope i dont bother any of you) thanks.. :)

Here's code in storing images:

<?php
if($id) {
$link=mysql_connect("localhost","root","1234");
if(!$link) die("Could not connect to MySQL");
$db=mysql_select_db("test",$link);
$query = "select bin_data,filetype from table where id='$id'";
$result = MYSQL_QUERY($query);
$data = MYSQL_RESULT($result,0,"bin_data");
$type = MYSQL_RESULT($result,0,"filetype");
header( "Content-type: $type");
header( "Content-type: image/pjpeg");
echo $data;
}
?>

No errors but none of the images stored in the database display. please help me troubleshooting this. thanks a lot. :)

Below is the list of fields i have created.

CREATE TABLE binary_data (
id INT(4) NOT NULL AUTO_INCREMENT PRIMARY KEY,
description CHAR(50),
bin_data LONGBLOB,
filename CHAR(50),
filesize CHAR(50),
filetype CHAR(50)
)

dudegio
Junior Poster in Training
66 posts since May 2007
Reputation Points: 10
Solved Threads: 0
 

Hello guys! I got the idea of displaying the image from the database. I have created a different database and i place this code: <?php dbconnect(); $queryresult= mysql_query("SELECT * FROM tbl_gallery limit 0,9") or die("SELECT Error: ".mysql_error()); while ($rec=mysql_fetch_array($queryresult, MYSQL_ASSOC)){ print 'getdata.php?id='.$rec[folder.gif'; print $rec["event_title"].'
'.$rec["event_date"].''; } print ' '; } ?> Filename is viewimage.php. This works in my localhost. Im using PHP 4.1 version in my localhost. But when i uploaded this to my domain, the image doesn't display and can only store images. The PHP version i have used is 5.0 in my domain. Is there a conflict on the version or can you figure out the error? It doesnt display images to my domain but in my localhost its working. pls help me on how to troubleshoot this. thanks a lot. :) Another thing is, you will see at the status bar that prompt messages dowloading images but there were no images display. please please help.

dudegio
Junior Poster in Training
66 posts since May 2007
Reputation Points: 10
Solved Threads: 0
 

Do you have the same exact paths on your server as your test machine?

iamthwee
Posting Expert
5,950 posts since Aug 2005
Reputation Points: 1,543
Solved Threads: 439
 

I have created a directory. There is no path specified since i have used the data type blobs to the image_data whom i store the images. Is there something wrong or something is restricting on the domain to display images that stored in the database? I placed all three pages in one directory like what i did in my localhost. please help. :)

dudegio
Junior Poster in Training
66 posts since May 2007
Reputation Points: 10
Solved Threads: 0
 

I already found out the error why it doesn't display the image. It is in the version of the PHP. Anyone knows how to change this code to PHP version 5. please please help guys.. Thanks a lot.

<?php
if($id) {
$link=mysql_connect("localhost","root","1234");
if(!$link) die("Could not connect to MySQL");
$db=mysql_select_db("test",$link);
$query = "select bin_data,filetype from table where id='$id'";
$result = MYSQL_QUERY($query);
$data = MYSQL_RESULT($result,0,"bin_data");
$type = MYSQL_RESULT($result,0,"filetype");
header( "Content-type: $type");
header( "Content-type: image/pjpeg");
echo $data;
}
?>

dudegio
Junior Poster in Training
66 posts since May 2007
Reputation Points: 10
Solved Threads: 0
 

Guys please help. I have tried other script but still it only works on PHP4. please help. Does anyone has a script on retrieving image binary data from the database in PHP5? please helpppppppppppp.. :(

dudegio
Junior Poster in Training
66 posts since May 2007
Reputation Points: 10
Solved Threads: 0
 

I was having issues displaying the image in a browser. After a lot of troubleshooting, I realized the php.ini file had set_magic_quotes_runtime = On. This was causing my problem. I can leave the php.ini alone and change it inline.

<? set_magic_quotes_runtime(0); // turn off ?>

scripts here

<? set_magic_quotes_runtime(1); // turn back on ?>


Depending on what you are doing, you may need to turn it off when reading the data into the database, and also when returning the data to the browser.

Hope this saves someone else some frustration.

eyeboston
Newbie Poster
1 post since Sep 2008
Reputation Points: 10
Solved Threads: 0
 

This article has been dead for over three months

Post: Markdown Syntax: Formatting Help
You