Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Frameworks y PHP orientado a objetos (http://www.forosdelweb.com/f68/)
-   -   DUDA: Call to undefined function conectar() (http://www.forosdelweb.com/f68/duda-call-undefined-function-conectar-581696/)

rogertm 30/04/2008 12:51

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

GatorV 30/04/2008 14:32

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.

rogertm 30/04/2008 15:11

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

GatorV 30/04/2008 15:43

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.

rogertm 02/05/2008 06:54

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

GatorV 02/05/2008 09:19

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.

rogertm 02/05/2008 12:10

Re: DUDA: Call to undefined function conectar()
 
gracias por el consejo, tomo notas

rumo 03/05/2008 12:23

Re: DUDA: Call to undefined function conectar()
 
GatorV, falto un signo $ en la funcion desconectar $this

saludos.

GatorV 03/05/2008 15:01

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,


La zona horaria es GMT -6. Ahora son las 08:39.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.