Jump to content


Photo

help with pdo query


  • Please log in to reply
No replies to this topic

#1 talguy

talguy
  • New Members
  • Pip
  • Newbie
  • 1 posts

Posted 24 June 2006 - 11:26 PM

So i am having a lot of problems with the inserting the information into my database using pdo

<?php
    // initialization
    $result_final = "";
    $counter = 0;

    // List of our known photo types
    $known_photo_types = array( 
                        'image/pjpeg' => 'jpg',
                        'image/jpeg' => 'jpg',
                        'image/gif' => 'gif',
                        'image/bmp' => 'bmp',
                        'image/x-png' => 'png'
                    );
    
    // GD Function List
    $gd_function_suffix = array( 
                        'image/pjpeg' => 'JPEG',
                        'image/jpeg' => 'JPEG',
                        'image/gif' => 'GIF',
                        'image/bmp' => 'WBMP',
                        'image/x-png' => 'PNG'
                    );

    // Fetch the photo array sent by preupload.php
    $photos_uploaded = $_FILES['photo_filename'];
    // Fetch the photo caption array
    $photo_caption = $_POST['photo_caption'];
    // Fetch the photo category id
    $photo_category_id = $_POST['category_name'];
    try {
        include("config.inc.php");
        while( $counter <= count($photos_uploaded) ) {
            if($photos_uploaded['size'][$counter] > 0) {
                if(!array_key_exists($photos_uploaded['type'][$counter], $known_photo_types)) {
                    $result_final .= "File ".($counter+1)." is not a photo<br />";
                }
                else {
                    // Prepare the query for execution    
                    $sql = "INSERT INTO gallery_photos(photo_filename, photo_caption, photo_category) VALUES( ?, ?, ?)";
                    $results = $db->prepare($sql);
                
                    // Set the parameters
                    $results->bindParam(1, $photo_filename);
                    $results->bindParam(2, $photo_caption[$counter]);
                    $results->bindParam(3, $photo_category_id);
                    $photo_filename = '0';
                    
                    // Execute the insert
                    $results->execute();
                    $results = null;
                    
                    $sql = "SELECT category_name FROM gallery_category WHERE category_id='".$photo_category_id."'";
                    $results = $db->query($sql);                    
                    $photo_category = $results->fetch();
                    echo $results;
                    //$photo_category = $results->fetch(PDO::FETCH_ASSOC);
                    
                    // Retrieve the ID from the last insert
                    $new_id = $db->lastInsertId();
                    $filetype = $photos_uploaded['type'][$counter];
                    $extention = $known_photo_types[$filetype];
                    $filename = $new_id.".".$extention;

                    //mysql_query( "UPDATE gallery_photos SET photo_filename='".addslashes($filename)."' WHERE photo_id='".addslashes($new_id)."'" );
                    //$db->beginTransaction();
                    $select = $db->prepare("UPDATE gallery_photos SET photo_filename='".addslashes($filename)."' WHERE photo_id='".addslashes($new_id)."'");
                    $select->execute();
                    //$db->commit();
                    
                    // Store the orignal file
                    copy($photos_uploaded['tmp_name'][$counter], $images_dir."/".$photo_category['category_name']."/".$filename);

                    // Let's get the Thumbnail size
                    $size = GetImageSize($images_dir."/".$photo_category['category_name']."/".$filename);
                    if($size[0] > $size[1]) {
                        $thumbnail_width = 100;
                        $thumbnail_height = (int)(100 * $size[1] / $size[0]);
                    }
                    else {
                        $thumbnail_width = (int)(100 * $size[0] / $size[1]);
                        $thumbnail_height = 100;
                    }
            
                    // Build Thumbnail with GD 1.x.x, you can use the other described methods too
                    $function_suffix = $gd_function_suffix[$filetype];
                    $function_to_read = "ImageCreateFrom".$function_suffix;
                    $function_to_write = "Image".$function_suffix;

                    // Read the source file
                    $source_handle = $function_to_read ( $images_dir."/".$photo_category['category_name']."/".$filename ); 
                
                    if($source_handle) {
                        // Let's create an blank image for the thumbnail
                         $destination_handle = ImageCreate ( $thumbnail_width, $thumbnail_height );
                
                        // Now we resize it
                          ImageCopyResized( $destination_handle, $source_handle, 0, 0, 0, 0, $thumbnail_width, $thumbnail_height, $size[0], $size[1] );
                    }

                    // Let's save the thumbnail
                    $function_to_write( $destination_handle, $thumbs_dir."/".$photo_category['category_name']."/".$filename );
                    ImageDestroy($destination_handle );

                    $result_final .= "<img src='".$thumbs_dir."/".$photo_category['category_name']."/".$filename."' /> File ".($counter+1)." Added<br />";
                }
            }
            $counter++;
        }
        $db = null;
        $insert = null;
    } catch (PDOException $e) {
        $db->rollback();
        die(print "Error!: " . $e->getMessage() . "<br/>");
    }
?>
      <html>
        <head>
          <title>Photos uploaded</title>
        </head>
        <body>
          <?php echo $result_final; ?>
          <a href="index.php">Back to Gallery</a>
        </body>
      </html>






0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users