techker Posted November 15, 2008 Share Posted November 15, 2008 hey guys i found this script to insert images in a mysql database. works good for inserting but getting the image is wrong..i know about were it is wrong but i can't see to correct it?? <?php // Connect to database $errmsg = ""; if (! @mysql_connect("localhost","techker","pass")) { $errmsg = "Cannot connect to database"; } @mysql_select_db("techker_DB"); // First run ONLY - need to create table by uncommenting this // Or with silent @ we can let it fail every sunsequent time ;-) $q = <<<CREATE create table pix ( pid int primary key not null auto_increment, title text, imgdata longblob) CREATE; @mysql_query($q); // Insert any new image into database if ($_REQUEST[completed] == 1) { // Need to add - check for large upload. Otherwise the code // will just duplicate old file ;-) // ALSO - note that latest.img must be public write and in a // live appliaction should be in another (safe!) directory. move_uploaded_file($_FILES['imagefile']['tmp_name'],"latest.img"); $instr = fopen("latest.img","rb"); $image = addslashes(fread($instr,filesize("latest.img"))); if (strlen($instr) < 149000) { mysql_query ("insert into pix (title, imgdata) values (\"". $_REQUEST[whatsit]. "\", \"". $image. "\")"); } else { $errmsg = "Too large!"; } } // Find out about latest image $gotten = @mysql_query("select * from pix order by pid desc limit 1"); if ($row = @mysql_fetch_assoc($gotten)) { $title = htmlspecialchars($row[title]); $bytes = $row[imgdata]; } else { $errmsg = "There is no image in the database yet"; $title = "no database image available"; // Put up a picture of our training centre $instr = fopen("../wellimg/ctco.jpg","rb"); $bytes = fread($instr,filesize("../wellimg/ctco.jpg")); } // If this is the image request, send out the image if ($_REQUEST[gim] == 1) { header("Content-type: image/jpeg"); print $bytes; exit (); } ?> <html><head> <title>Upload an image to a database</title> <body bgcolor=white><h2>Here's the latest picture</h2> <font color=red><?= $errmsg ?></font> <center><img src= width=144><br> <b><?= $title ?></center> <hr> <h2>Please upload a new picture and title</h2> <form enctype=multipart/form-data method=post> <input type=hidden name=MAX_FILE_SIZE value=150000> <input type=hidden name=completed value=1> Please choose an image to upload: <input type=file name=imagefile><br> Please enter the title of that picture: <input name=whatsit><br> then: <input type=submit></form><br> <hr> </body> </html> the error <html><head> <title>Upload an image to a database</title> <body bgcolor=white><h2>Here's the latest picture</h2> <font color=red><?= $errmsg ?></font> <center><img src= width=144><br> <b><?= $title ?></center> i think there is missing info on the image it self? img src= HERE width=144 thanks!! Quote Link to comment https://forums.phpfreaks.com/topic/132814-image-in-database/ Share on other sites More sharing options...
daveoffy Posted November 18, 2008 Share Posted November 18, 2008 you have <img src= nothing. It needs to be able to get the image from the database. I am not to sure but I think you should try <img src="<?PHP $image ?>"> If that doesn't work try this than... $newimage = ('latest.img'); and put in the HTML <img src="<?PHP $newimage ?>"> Quote Link to comment https://forums.phpfreaks.com/topic/132814-image-in-database/#findComment-692496 Share on other sites More sharing options...
techker Posted November 18, 2008 Author Share Posted November 18, 2008 it was ?gim=1 Quote Link to comment https://forums.phpfreaks.com/topic/132814-image-in-database/#findComment-692581 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.