
 Llevado por la emoción del momento me he equivocado a la hora de decir que mi tema está solucionado y luego de varias pruebas me he dado cuenta de que aun no he encontrado solución a mi problema. 
Resulta que ahora solo me modifica el primer conjunto de resultados que recibo y sabiendo que el ciclo foreach si recoje todos los resultados pues ya he probado eso. 
He aqui mi script:    
Código PHP:
Ver originalpublic function editar
($datos = array()) {          
         
            
          if ($codigo != '') {
              $query = "UPDATE `soptecvnzla`.`caracteristicas_hardware` SET serial = ?, observaciones_h = ?, tipo_nombre = ? WHERE id_hardware = ? AND codigo = ?";
              
              $mysqli = $this->abrir_conexion();
              $stmt = $mysqli->prepare($query);
              if (!$stmt) {
              echo "Falló la preparación: (" . $mysqli->errno . ") " . $mysqli->error;
              }
              
              if(!$stmt->bind_param("sssss", $serialx, $observaciones_hx, $tipo_nombrex,$id_hardwarex,$codigox)) {
                   echo "Falló la vinculación de parámetros: (" . $mysqli->errno . ") " . $mysqli->error;
                                                                                                   }
              
foreach ($codigo as $n => $codigox) {
      $observaciones_hx = $observaciones_h[$n];
      $tipo_nombrex = $tipo_nombre[$n];
      $id_hardwarex = $id_hardware[$n];
      $serialx = $serial[$n];
     
 
      if (!$stmt->execute()) {
    echo "Falló la ejecución: (" . $mysqli->errno . ") " . $mysqli->error;
}
else {
    return true;
     }
}
 
      
          }
          $stmt->close();
      }
  
Creo que el problema puede estar reflejado en la sentencia mysql, pero no estoy seguro. Lo cierto es que solo me modifica el primer campo y los otros no.
Recuerden lo que antes señale sobre que el id_hardware me indica a que componente pertenecen las caracteristicas : serial, observaciones_h y tipo_nombre mientras el codigo engloba todos los componentes en general. Es un mismo codigo para todas las caracteristicas pero cada una de ella tiene id_hardware diferentes, esto podria ayudar a entender mejor mi problema fijense en la sentencia mysql, ¿Es la adecuada para el caso?  
Agradecería a algún moderador pudiera cambiar mi tema y quitarle el marcado de solucionado para que otros usuarios puedan seguir comentando. Es un proyecto de la universidad que realmente me tiene casi loco