Foros del Web » Programando para Internet » PHP »

Proeblema con funcion conectar

Estas en el tema de Proeblema con funcion conectar en el foro de PHP en Foros del Web. Buen dia foro Tengo un problema al conectar a mi base de datos veran puedo conectar de manera sencilla haiendo esto simplemente @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código ...
  #1 (permalink)  
Antiguo 06/11/2012, 11:57
Avatar de jandrogdz  
Fecha de Ingreso: julio-2012
Ubicación: public $Guadalajara
Mensajes: 397
Antigüedad: 11 años, 9 meses
Puntos: 12
Pregunta Proeblema con funcion conectar

Buen dia foro

Tengo un problema al conectar a mi base de datos veran puedo conectar de manera sencilla haiendo esto simplemente

Código PHP:
Ver original
  1. $conConnection = new mysqli ("server","user","pass","db");
pero necesito hacerlo con clases pero me arroja un error de que la variable $conConnection esta vacia y no puedo acceder espero me puedan ayudar.

Código PHP:
Ver original
  1. require_once "config.php";
  2.  
  3. class DBConnection
  4. {
  5.     protected $conConnection;
  6.    
  7.  
  8.     // Constructor de la clase DBConnection para realizar la conexion a la base de datos...
  9.     public function __construct()
  10.     {
  11.         $this->$conConnection = new mysqli (_strDBServer,_strDBUsername,_strDBPassword,_strDBName) or die ($this->conConnection->error);
  12.         return $this->$conConnection;
  13.     }
  14. }


el archivo config lo tengo de esta manera:

Código PHP:
Ver original
  1. define("_strDBServer", "localhost");
  2. define("_strDBUsername", "root");
  3. define("_strDBPassword", "");
  4. define("_strDBName", "db");


de antemano muchas gracias...
  #2 (permalink)  
Antiguo 06/11/2012, 12:00
 
Fecha de Ingreso: abril-2009
Ubicación: en un lugar de la mancha
Mensajes: 236
Antigüedad: 15 años
Puntos: 38
Respuesta: Proeblema con funcion conectar

Por estanbdar las variables constantes se definen en mayusculas para ke puedas identificarlas sin problemas, no es obligatorio pero se usa como estandar

la variable $conConnection es de tipo protected debes extender esta clase para ke puedas accederla.

intenta

require_once "config.php";

class DBConnection
{
public $conConnection

y en el return kita $delante de la variable
return $this->conConnection;
  #3 (permalink)  
Antiguo 06/11/2012, 12:02
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Respuesta: Proeblema con funcion conectar

el or die debe de ser de la sig. manera
Código PHP:
Ver original
  1. $this->conConnection = new mysqli (_strDBServer,_strDBUsername,_strDBPassword,_strDBName) or die (mysqli_connect_error());
ya que si existe error $this->conConnection nunca se inicia.

saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #4 (permalink)  
Antiguo 06/11/2012, 12:08
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Proeblema con funcion conectar

Es $this->variable, sin el $.
  #5 (permalink)  
Antiguo 06/11/2012, 12:09
Avatar de jandrogdz  
Fecha de Ingreso: julio-2012
Ubicación: public $Guadalajara
Mensajes: 397
Antigüedad: 11 años, 9 meses
Puntos: 12
Respuesta: Proeblema con funcion conectar

muchas gracias por responder ya he conseguido conectar, el problema radicaba aen un error de sintaxis en la function.

Pero ahora me salta otro error al ejecutar las consultas

Código PHP:
Ver original
  1. public function executeQuery($query)
  2.     {
  3.         return $this->conConnection->query($query);
  4.        
  5.     }

Me podrian ayudar no se el porque del error
  #6 (permalink)  
Antiguo 06/11/2012, 12:35
 
Fecha de Ingreso: abril-2009
Ubicación: en un lugar de la mancha
Mensajes: 236
Antigüedad: 15 años
Puntos: 38
Respuesta: Proeblema con funcion conectar

Código PHP:
public function executeQuery($query)
    {
    
$result $this->conConnection->query($query);
        
        if(
$result->num_rows 0
        {
                
$datos = array();

        while(
$row $result->fetch_assoc()) 
                {
            
$datos[] = stripslashes($row);    
        }
    }     
    } 
  #7 (permalink)  
Antiguo 06/11/2012, 12:47
Avatar de jandrogdz  
Fecha de Ingreso: julio-2012
Ubicación: public $Guadalajara
Mensajes: 397
Antigüedad: 11 años, 9 meses
Puntos: 12
Respuesta: Proeblema con funcion conectar

Gracias rolygc, pero tengo varias funciones y en todas me manda el siguiente error:
Fatal error: Call to a member function query() on a non-object.
De hecho tengo una funcion muy similar a la k me comentas y es el mismo error.
  #8 (permalink)  
Antiguo 06/11/2012, 12:58
 
Fecha de Ingreso: abril-2009
Ubicación: en un lugar de la mancha
Mensajes: 236
Antigüedad: 15 años
Puntos: 38
Respuesta: Proeblema con funcion conectar

revisa la consulta a lo mejor tienes errors, en los nombre de las tablas o columnas o en tu sql es lo ke me parece
  #9 (permalink)  
Antiguo 06/11/2012, 13:09
Avatar de jandrogdz  
Fecha de Ingreso: julio-2012
Ubicación: public $Guadalajara
Mensajes: 397
Antigüedad: 11 años, 9 meses
Puntos: 12
Respuesta: Proeblema con funcion conectar

mira la consulta la hago de la siguiente forma
index.php
Código PHP:
Ver original
  1. include("DBConnection.class.php");
  2.  
  3.     $connection = new DBConnection();
  4.  
  5.     $sql = "SELECT * FROM user";
  6.     $connection->executeQuery($sql);

y el mi archivo clase tengo esto: DBConnection.class.php

Código PHP:
Ver original
  1. require_once "config.php";
  2.  
  3. class DBConnection
  4. {
  5.     protected $conConnection;
  6.    
  7.     public function _construct()
  8.     {
  9.         $this->conConnection = new mysqli(_strDBServer,_strDBUsername,_strDBPassword,_strDBName);
  10.         return $this->conConnection;
  11.     }
  12.  
  13.     public function _destruct()
  14.     {
  15.         if(isset($this->conConnection))
  16.         {
  17.                       $this->conConnection->close;
  18.         }
  19.     }
  20.  
  21.    
  22.  
  23.     // Funcion que cierra la conexion a la base de datos...
  24.     public function closeConnection()
  25.     {
  26.         $this->conConnection->close;
  27.         unset($this->conConnection);
  28.  
  29.     }
  30.    
  31.     public function getConnection()
  32.     {
  33.         return $this->conConnection;
  34.     }
  35.  
  36.     public function executeQuery($query)
  37.     {
  38.         return $this->conConnection->query($query);
  39.  
  40.     }


y en el archivo config.php tengo esto

Código PHP:
Ver original
  1. define("_strDBServer", "localhost");
  2. define("_strDBUsername", "root");
  3. define("_strDBPassword", "");
  4. define("_strDBName", "db");
  #10 (permalink)  
Antiguo 07/11/2012, 08:11
Avatar de jandrogdz  
Fecha de Ingreso: julio-2012
Ubicación: public $Guadalajara
Mensajes: 397
Antigüedad: 11 años, 9 meses
Puntos: 12
Respuesta: Proeblema con funcion conectar

Problema resuelto

Etiquetas: funcion, mysql, variables
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 10:48.