Ver Mensaje Individual
  #7 (permalink)  
Antiguo 19/12/2014, 18:00
plitre_sys19
 
Fecha de Ingreso: septiembre-2011
Mensajes: 233
Antigüedad: 12 años, 7 meses
Puntos: 1
Respuesta: Colocar excepciones TRY-CATCH

Cita:
Iniciado por hhs Ver Mensaje
Publica el código de tu clase, pero es igual que en tu primer caso, no importa cual de las dos clases lance una excepción el try/catch la manejara.
este es el código de la clase categoria.php
Código PHP:
<?php

spl_autoload_register
(function($clase){
        include 
strtolower($clase).'.php';
    });
    Class 
Categoria{

        private 
$idCategoriaArea;
        private 
$nombreCategoria;

        public function 
__construct($idCategoriaArea=null,$nombreCategoria=null)
        {
            
$this->idCategoriaArea=$idCategoriaArea;
            
$this->nombreCategoria=$nombreCategoria;

        }

        public function 
getIdCategoria(){
            return 
$this->idCategoriaArea;
        }
        public function 
getNombCategoria(){
            return 
$this->nombreCategoria;
        }
        public function 
setIdCategoria($idCategoriaArea){
            
$this->idCategoriaArea=$idCategoriaArea;
        }
        public function 
setNombCategoria($nombreCategoria){
            
$this->nombreCategoria=$nombreCategoria;
        }

        public function 
insertar(){
                
$link=new Conexion();
                
$conexion=$link->conectar();
                
$consulta=$conexion->prepare('INSERT INTO categoriaarea (nombreCategoria) VALUES (?)');
                
$consulta->bind_param('s',$this->nombreCategoria);
                if(
$consulta->execute())
                {
                    
$conexion->close();
                    
$consulta->close();
                    return 
true;
                }
                else{
                    
$conexion->close();
                    
$consulta->close();
                    return 
false;
                }

        }

        public function 
Buscar($value){
                
$link=new Conexion();
                
$conexion=$link->conectar();
                
$consulta=$conexion->prepare('SELECT * FROM categoriaarea WHERE nombreCategoria=?');
                
$consulta->bind_param('s',$value);
                
$consulta->execute();
                
$consulta->store_result();
                
$num=$consulta->num_rows;
                if(
$num>=1){
                    
$conexion->close();
                    
$consulta->close();
                    return 
true;
                }
                else{
                    
$conexion->close();
                    
$consulta->close();
                    return 
false;
                }
        }

        public function 
ObtenerTodasCategoria(){
    
                    
$categoria=array();
                    
$db=new Conexion();
                    
$conexion=$db->conectar();
                    
$consulta=$conexion->prepare('SELECT idCategoriaArea, nombreCategoria FROM categoriaarea ORDER BY idCategoriaArea desc');
                    
$consulta->execute();
                    
$resultado $consulta->get_result();
                    while(
$fila=$resultado->fetch_assoc())
                    {
                        
$cat=new Categoria($fila['idCategoriaArea'],$fila['nombreCategoria']);
                        
array_push($categoria$cat);
                    }
                    return 
$categoria;
        }
    }
?>
y este es el código de mi clase conexión.php
Código PHP:
<?php
    
    
Class Conexion{

        private 
$server='localhost';
        private 
$usuario='root';
        private 
$pass='';
        private 
$mainDataBase='sistema';
        
             
/*Realiza la conexión a la base de datos.*/
       
public function conectar(){
          
$link=new mysqli($this->server$this->usuario$this->pass,$this->mainDataBase);

         
//  //Si sucede algún error la función muere e imprimir el error
        
if($link->connect_error){
            die(
"Error en la conexion : ".$link->connect_errno."-".$link->connect_error);
        }

        
//evitando problemas con acentos
        
$link->query("SET NAMES 'utf8'");
        
        return 
$link;
        }
       
    }

?>