Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

DUDA: Call to undefined function conectar()

Estas en el tema de DUDA: Call to undefined function conectar() en el foro de Frameworks y PHP orientado a objetos en Foros del Web. hola por aqui, he estado mirando la forma de hacer este tipo de conexion com mysqli y he intentado creando una clase que contiene tres ...
  #1 (permalink)  
Antiguo 30/04/2008, 12:51
Avatar de rogertm
Mod->Cuba
 
Fecha de Ingreso: julio-2005
Ubicación: /home/Cuba/Habana/rogertm/
Mensajes: 2.922
Antigüedad: 18 años, 9 meses
Puntos: 638
DUDA: Call to undefined function conectar()

hola por aqui, he estado mirando la forma de hacer este tipo de conexion com mysqli y he intentado creando una clase que contiene tres funciones: conectar(), checkConectar() y desconectar() para despues llamarlas a cada una en las diferentes partes del script y todo parece funcionar bien:

classConectar.php
Código PHP:
<?php
class DataBaseLink {

    function 
conectar() {
        
$db_link = new mysqli("localhost""root""""rogertm");
        return 
$db_link;
    }

    function 
checkConectar() {
        if(
mysqli_connect_errno()) {
            
printf("Conexi&oacute;n Fallida"mysqli_connect_error());
            exit();
        }
    }

    function 
desconectar() {
        
$db_unlink conectar($db_link)->close(); // esta es la linea 17
        
return $db_unlink;
    }
}
?>
index.php
Código PHP:
<?php
include ('classConectar.php');

$cnx = new DataBaseLink();
$cnx->conectar();
$cnx->checkConectar();

if(
$cnx->conectar($db_link)->query("SELECT * FROM noticias")) {
    
printf("Todo Bien");
}

$cnx->desconectar();
?>
pero me da el siguiente error:
Cita:
Fatal error: Call to undefined function conectar() in D:\WAMP_Server_2\wamp\www\mi-proyecto\classConectar.php on line 17
por que???

gracias mil de antemano
__________________
Friki y Blogger por Cuenta Propia:213
Twenty'em: Theming is Prose
  #2 (permalink)  
Antiguo 30/04/2008, 14:32
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: DUDA: Call to undefined function conectar()

¿Que es lo que estas tratando de hacer?, según tu método desconectar, esta tratando de conectar (¿donde defines esa función? para después ¿desconectar?.

Saludos.
  #3 (permalink)  
Antiguo 30/04/2008, 15:11
Avatar de rogertm
Mod->Cuba
 
Fecha de Ingreso: julio-2005
Ubicación: /home/Cuba/Habana/rogertm/
Mensajes: 2.922
Antigüedad: 18 años, 9 meses
Puntos: 638
Re: DUDA: Call to undefined function conectar()

a ver, lo que quiero hacer es simple, de echo lo hice, pero sin la clase, solo con las funciones y llamandolas normalmente, pero quiero saber por que me da este palo usando la clase.

Código PHP:
<?php
function desconectar() {
        
// aqui le digo que la variable $db_link
        // esta definida en la funcion conectar()
        // mas arriba
        
$db_unlink conectar($db_link)->close(); // en esta linea cierro la conexion
        
return $db_unlink;
    }
?>
recuerda que estoy usando mysqli.

saludos y gracias mil como siempre moderador
__________________
Friki y Blogger por Cuenta Propia:213
Twenty'em: Theming is Prose
  #4 (permalink)  
Antiguo 30/04/2008, 15:43
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: DUDA: Call to undefined function conectar()

En ese caso te recomendaria que guardaras la variable en una propiedad de la clase, así no te tienes que conectar, para desconectar...
Código PHP:
<?php
class DataBaseLink {
    var 
$db_link;
    function 
conectar() {
        
$this->db_link = new mysqli("localhost""root""""rogertm");
        return 
$this->db_link;
    }

    function 
checkConectar() {
        if(
mysqli_connect_errno()) {
            
printf("Conexi&oacute;n Fallida"mysqli_connect_error());
            exit();
        }
    }

    function 
desconectar() {
        
$db_unlink $this->db_link->close(); // esta es la linea 17
        
return $db_unlink;
    }
}
?>
Saludos.

Última edición por GatorV; 03/05/2008 a las 15:00
  #5 (permalink)  
Antiguo 02/05/2008, 06:54
Avatar de rogertm
Mod->Cuba
 
Fecha de Ingreso: julio-2005
Ubicación: /home/Cuba/Habana/rogertm/
Mensajes: 2.922
Antigüedad: 18 años, 9 meses
Puntos: 638
Re: DUDA: Call to undefined function conectar()

gracias mil una vez mas moderador, ahora fuenciona y entendi bien cual era el asunto, es que estoy metiendome en esto de las clases y funciones recien ahora, ademas que ya va siendo tiempo de meter los pies en POO.

saludos y suerte
__________________
Friki y Blogger por Cuenta Propia:213
Twenty'em: Theming is Prose
  #6 (permalink)  
Antiguo 02/05/2008, 09:19
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: DUDA: Call to undefined function conectar()

Te recomiendo antes de "meter los pies en POO", que te documentes perfectamente sobre la teoría de Programación Orientada a Objetos, es decir trata de leer libros que te hablen de la teoría, nada de lenguajes de programación, si no te vas a confundir, es mejor entender el porqué de los objetos, como funcionan, sus propiedades, métodos, patrones, visibilidad, abstracción, polimorfismo, etc.

Si haces eso, luego mudarte a programar en PHP OO, no te va a costar tanto trabajo si ya tienes las bases del lenguaje y las bases de POO. En cambio si no te documentas bien, te va a pasar lo que a muchos programadores que solo programan "estilo orientado a objetos" que en cuyo caso es lo mismo que si programaran orientado a funciones.

Saludos.
  #7 (permalink)  
Antiguo 02/05/2008, 12:10
Avatar de rogertm
Mod->Cuba
 
Fecha de Ingreso: julio-2005
Ubicación: /home/Cuba/Habana/rogertm/
Mensajes: 2.922
Antigüedad: 18 años, 9 meses
Puntos: 638
Re: DUDA: Call to undefined function conectar()

gracias por el consejo, tomo notas
__________________
Friki y Blogger por Cuenta Propia:213
Twenty'em: Theming is Prose
  #8 (permalink)  
Antiguo 03/05/2008, 12:23
 
Fecha de Ingreso: agosto-2006
Mensajes: 177
Antigüedad: 17 años, 8 meses
Puntos: 1
Re: DUDA: Call to undefined function conectar()

GatorV, falto un signo $ en la funcion desconectar $this

saludos.
  #9 (permalink)  
Antiguo 03/05/2008, 15:01
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: DUDA: Call to undefined function conectar()

jeje cierto, de esas cosas que luego se te pasan a la hora de escribir rápido.

Gracias! Saludos,
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:29.