Re: Saving Image in mySQL

Karl DeSaulniers <[email protected]>
Newsgroups gmane.comp.php.database
Message-ID <[email protected]>
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:
>
>>
>> Hi 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 INTO `my_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 query
>>
>>           if ( $stmt->execute() or die(print_r($stmt->errorInfo(),  
>> true)) ) {
>>
>> # retrieve auto_increment value
>>
>>               $new_record_reference = $dbh->lastInsertId();
>>
>>           }
>>
>>   }
>> ===
>>
>>
>> Ron Piggott
>>
>>
>>
>> www.TheVerseOfTheDay.info
>
> Karl DeSaulniers
> Design Drumm
> http://designdrumm.com
>
>
> --
> PHP Database Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>

Karl DeSaulniers
Design Drumm
http://designdrumm.com


-- 
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.