Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/10/2006, 06:25
jorgivaz
 
Fecha de Ingreso: junio-2005
Mensajes: 343
Antigüedad: 18 años, 11 meses
Puntos: 10
Utilizar objetos dentro de una clase.

Hola, expongo mi problema, tengo una clase llamada MySQL() que se encarga de almacenar los datos de la conexión con MySQL y de realizar consultas.

Entonces, una vez configurado el objeto, quiero hacerme clases para insertar, eliminar y actualizar registros de una tabla, con lo que tengo la siguiente clase:

Código PHP:
class TabTgu {
    var 
$tgu_id;
    var 
$tgu_nombre;
    var 
$tgu_estado;

    function 
TabTgu(){}
    function 
setTguId($var){$this->tgu_id=$var;}
    function 
setTguNombre($var){$this->tgu_nombre=$var;}
    function 
setTguEstado($var){$this->tgu_estado=$var;}
    function 
getTguEstado(){return $this->tgu_estado;}
    function 
getTguNombre(){return $this->tgu_nombre;}
    function 
getTguId(){return $this->tgu_id;}
    function 
insert($MySQL){        $sql "INSERT INTO tab_tgu VALUES (null,'".$this->tgu_nombre."','".$this->tgu_estado."');";        $res $MySQL->query($sql);    }
    function 
delete($MySQL){        $sql "DELETE FROM tab_tgu WHERE tgu_id = '".$this->tgu_id."'";        $res $MySQL->query($sql);    }
    function 
update($MySQL){        $sql "UPDATE FROM tab_tgu SET tgu_nombre = '".$this->tgu_nombre."' tgu_estado = '".$this->tgu_estado."' WHERE tgu_id = '".$this->tgu_id."';";    }

Esta clase me funciona bien, lo que pasa que he creado otra clase para que me busque dentro de la base de datos en dicha tabla en base a los métodos que yo quiera, es la siguiente:

Código PHP:
class TabTguUtil {
    function 
getTabTguByNombre($MySQL,$var){
        
$sql "SELECT * FROM tab_tgu WHERE tgu_nombre = '".$var."'";
        
$res $MySQL->query($sql);
        
$row mysql_fetch_assoc($res);
        return 
$row;
    }

Mi problema esta en que al usar esta segunda clase me dice lo siguiente:

Fatal error: Call to a member function on a non-object in d:\servidor\www\proyecto\web\inc\TabTgu.php on line 21 que corresponde con la linia:

Código PHP:
$res $MySQL->query($sql); 
Entonces no entiendo xq da error, si en la otra clase le paso el objeto para hacer el insert (comprobado), delete (por comprobar), update(por comprobar) y funciona mientras que en esta otra no me funciona.

Alguién podría decirme que me falta o que estoy haciendo mal ??