Ver Mensaje Individual
  #4  
Antiguo 14-03-2007
Avatar de lucasarts_18
lucasarts_18 lucasarts_18 is offline
Miembro
 
Registrado: mar 2005
Ubicación: Villa Alemana,Chile
Posts: 1.087
Reputación: 21
lucasarts_18 Va por buen camino
Código PHP:
function asignarProfesor ($dbh,$codasig,$nomasig){
    
    global 
$mensaje;
    
    foreach (
$_REQUEST['borrar'] as $keyRun => $run) {
         
         
$result $dbh->prepare("insert into sig_profesor_asignatura 
                                      (id_asignatura_cso,run_prof,hrs_prof_asig)
                                          values (?,?,?)"
);
            
        
$run quita_guionrun($run);         
            
$datos = array($codasig,$run,0);
            
            
$result $dbh->execute($result,$datos);
            
            if (
PEAR::isError($result)) {
            
            if (
$result->getCode() == -3)
                
$mensaje 'Ha seleccionado un profesor que ya existe RUN:'.$run;
            else
                
$mensaje $result->getDebugInfo();
                
            
$flagError 1;
            break;
        }
       }
       if (
$flagError == 0) {
           
$nomasig strtolower($nomasig);
           
header ("Location: asig_prof_asignatura.php?codasig=$codasig&nomasig=$nomasig");
           exit;
       }

Aquí capturo el error de registro duplicado, para capturar un error de un objeto inexiste es similar ya que cada motor de base de datos devuelve un número constante del error provocado.

Me imagino si haces una consulta sobre dicha vista sobre un Front-End para PostgreSQL devería mostrarte un error en caso de no encontrarlo, acompañado del código y una descripción, cada motor de base de datos lo hace, por lo menos con los que he trabajado (Oracle, MS-SQL Server, MySQL).

Con lo que te he entregado ya tienes como investigar....

Hasta Luego .-
__________________
No todo es como parece ser...
Responder Con Cita