Re: Saving Image in mySQL

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [PHP Home]     [PHP Users]     [Postgresql Discussion]     [Kernel Newbies]     [Postgresql]     [Yosemite News]

  Powered by Linux