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