Re: Saving Image in mySQL
| From: | Karl DeSaulniers | Date: | Wed, 20 Mar 2013 07:46:10 +0000 |
| Subject: | Re: Saving Image in mySQL | ||
| References: | 1 2 | Groups: | php.db |
| Request: | Send a blank email to php-db+get-48705@lists.php.net to get a copy of this message | ||
Ron,
If your hell bent on storing the image data. :P
I would say base64 the data and use a blob or text
then read it out using something like..
$image = '<img src="data:'.$image_data.'" />';
echo($image);
I would also say your individual image max size should be 50k or less.
If your storing product images for a catalog for instance, dont store image data, use the url instead.
If its ui images for a couple of web pages, then storing the image data wouldn't be a bad thing.
As long as the total size for all of your images is reasonable.
Your call.
Best,
Karl
On Mar 19, 2013, at 6:11 PM, Karl DeSaulniers wrote:
Hey Ron, I don't know how others feel, but I say save yourself a headache and dont store the image data, just the url to the image on the server. image_url – VARCHAR 100 Best, Karl On Mar 19, 2013, at 3:15 PM, Ron Piggott wrote:Karl DeSaulniers Design Drumm http://designdrumm.comHi All I don’t understand how to save an image to a mySQL table based on the following form. I am trying to do this using Prepared Statements. All the fields except the image file itself save in the database. Right now I have $file as the variable when binding the values. What should it be? Ron === <form action="add_my_image.php" method="post" enctype="multipart/form-data"> <label for="file">Filename:</label> <input type="file" name="file"><br> <input type="submit" name="submit" value="submit"> </form> === mySQL table structure: === reference – INT 10 auto_increment primary caption – VARCHAR 250 image_type – VARCHAR 100 image_size – INT 10 image_name – VARCHAR 100 image – LONGBLOB === Prepared Statement: === # mySQL query $query = "INSERT INTOKarl DeSaulniers Design Drumm http://designdrumm.com -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.phpmy_images(reference,caption,image_type,image_size,image_name,image) VALUES ( NULL , :caption , :image_type , :image_size , :image_name , :image );"; # apply query to Prepared Statement if($stmt = $dbh->prepare( $query )) { # bind variables$stmt->bindValue(':caption', 'Test Caption', PDO::PARAM_STR); $stmt->bindValue(':image_type', $_FILES["file"]["type"], PDO::PARAM_STR); $stmt->bindValue(':image_size', $_FILES["file"]["size"], PDO::PARAM_INT); $stmt->bindValue(':image_name', $_FILES["file"]["name"], PDO::PARAM_STR); $stmt->bindValue(':image', $file, PDO::PARAM_STR);# execute queryif ( $stmt->execute() or die(print_r($stmt->errorInfo(), true)) ) {# retrieve auto_increment value$new_record_reference = $dbh->lastInsertId();}} === Ron Piggott www.TheVerseOfTheDay.info