Salve,

posto questa parte di codice:

Codice PHP:
  $new_post "INSERT INTO `prodotti` (`nome`, `descrizione`, `prezzo`) VALUES (?, ?, ?)";
  
$stmt $db->prepare($new_post);
  
$stmt->execute(array(stripslashes($nome), stripslashes($descrizione), stripslashes($prezzo)));

  
$new_post_id $db->lastInsertId();

  for (
$i 1$i <= 1$i++) {

  if(!empty(
$_FILES['immagine_01']['name']))
  {
   
$_FILES['immagine_01']['name'] = $immagine_01_rinominata;
   
$immagine_01_rinominata md5(uniqid());
    
$image_sql "UPDATE prodotti SET immagine_01 = '$new_post_id-01-$immagine_01_rinominata' WHERE id_prodotto = $new_post_id";
   
$stmt $db->prepare($image_sql);

if(isset(
$_FILES['immagine_01'])){
$imagename $new_post_id "-01-" $immagine_01_rinominata ".jpg";
$source $_FILES['immagine_01']['tmp_name'];
$target "../../immagini/" $imagename;
move_uploaded_file($source$target);

$imagepath $imagename;
$save "../../immagini/" $imagepath// questo è il nuovo file che salvi
$file "../../immagini/" $imagepath// questo è il file originale

list($width$height) = getimagesize($file); 

$modwidth 1024// dimensione immagine grande

$diff $width $modwidth;

$modheight $height $diff
$tn imagecreatetruecolor($modwidth$modheight); 
$image imagecreatefromjpeg($file) ; 
imagecopyresampled($tn$image0000$modwidth$modheight$width$height); 

imagejpeg($tn$save90); 

$save "../../immagini/" $new_post_id "-01-" $immagine_01_rinominata "-miniatura" ".jpg"// questo è il nuovo file che salvi
$file "../../immagini/" $imagepath// questo è il file originale

  
list($width$height) = getimagesize($file); 
  
$max_w 150
  
$max_h 113

  
// area utile e offset 
  
if ($width>$height*$max_w/$max_h) { 
    
$a_h $height
    
$a_w $a_h*$max_w/$max_h
    
$delta_x floor(($width-$a_w)/2);  
    
$delta_y 0
  } else {
    
$a_w $width
    
$a_h $a_w*$max_h/$max_w
    
$delta_x 0;  
    
$delta_y floor(($height-$a_h)/2);  
  }

$tn imagecreatetruecolor($max_w$max_h); 
$image imagecreatefromjpeg($file);
imagecopyresampled($tn$image00$delta_x$delta_y$max_w$max_h$a_w$a_h); 

imagejpeg($tn$save90);
  }
  }

  if(!empty(
$_FILES['immagine_02']['name']))
  {
   
$_FILES['immagine_02']['name'] = $immagine_02_rinominata;
   
$immagine_02_rinominata md5(uniqid());
    
$image_sql "UPDATE prodotti SET immagine_02 = '$new_post_id-02-$immagine_02_rinominata' WHERE id_prodotto = $new_post_id";
   
$stmt $db->prepare($image_sql);

if(isset(
$_FILES['immagine_02'])){
$imagename $new_post_id "-02-" $immagine_02_rinominata ".jpg";
$source $_FILES['immagine_02']['tmp_name'];
$target "../../immagini/" $imagename;
move_uploaded_file($source$target);

$imagepath $imagename;
$save "../../immagini/" $imagepath// questo è il nuovo file che salvi
$file "../../immagini/" $imagepath// questo è il file originale

list($width$height) = getimagesize($file); 

$modwidth 1024// dimensione immagine grande

$diff $width $modwidth;

$modheight $height $diff
$tn imagecreatetruecolor($modwidth$modheight); 
$image imagecreatefromjpeg($file) ; 
imagecopyresampled($tn$image0000$modwidth$modheight$width$height); 

imagejpeg($tn$save90); 

$save "../../immagini/" $new_post_id "-02-" $immagine_02_rinominata "-miniatura" ".jpg"// questo è il nuovo file che salvi
$file "../../immagini/" $imagepath// questo è il file originale

  
list($width$height) = getimagesize($file); 
  
$max_w 150
  
$max_h 113

  
// area utile e offset 
  
if ($width>$height*$max_w/$max_h) { 
    
$a_h $height
    
$a_w $a_h*$max_w/$max_h
    
$delta_x floor(($width-$a_w)/2);  
    
$delta_y 0
  } else {
    
$a_w $width
    
$a_h $a_w*$max_h/$max_w
    
$delta_x 0;  
    
$delta_y floor(($height-$a_h)/2);  
  }

$tn imagecreatetruecolor($max_w$max_h); 
$image imagecreatefromjpeg($file);
imagecopyresampled($tn$image00$delta_x$delta_y$max_w$max_h$a_w$a_h); 

imagejpeg($tn$save90);
  }
  }

   
// aggiungi i files al database
   
$file_name $_FILES['immagine_01']['name'];
   
$stmt->execute(array($file_name));
   
$file_name $_FILES['immagine_02']['name'];
   
$stmt->execute(array($file_name));

  }

    if (
$stmt->execute()) {
  echo 
"<script>alert('Inserimento eseguito con successo.');</script>"
    } else {
  echo 
"<script>alert('Impossibile eseguire l'inserimento.');</script>"
    } 
E riscontro il seguente problema. Mi fa l'upload nella cartella di entrambe le immagini ma nel DB inserisce solo l'ultima immagine, ovvero la _02.

Nel caso l'upload è di 3 immagini (cambiando il codice), mi carica sempre tutte e 3 le immagini nella cartella specifica, ma nel DB inserisce i riferimenti solo dell'ultima, ovvero la terza.

In sostanza c'è qualche rottura nelle query SQL che pesca solo l'ultima e non tutte insieme.

Che pensate?