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

Uso clase para mysql querys, y tengo un problema al debuggear

Estas en el tema de Uso clase para mysql querys, y tengo un problema al debuggear en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola, uso una clase para los querys, este es el archivo: Código PHP: class  manejadordb      {         private  $conexion ;         private  $conexion_servidor =  "localhost" ; ...
  #1 (permalink)  
Antiguo 24/04/2010, 04:59
 
Fecha de Ingreso: septiembre-2005
Ubicación: Valencia
Mensajes: 738
Antigüedad: 18 años, 7 meses
Puntos: 5
Pregunta Uso clase para mysql querys, y tengo un problema al debuggear

Hola, uso una clase para los querys, este es el archivo:

Código PHP:
class manejadordb
    
{
        private 
$conexion;
        private 
$conexion_servidor"localhost";
        private 
$conexion_usuario"zamblo";
        private 
$conexion_contrasena"8*8*8*8*-2";
        private 
$conexion_bd"pokemonrpg";
        private 
$resultado"";
        
        static 
$instancia;
        
        public function 
__construct()
        {
            
$this->Conectar();
        }
        
        private function 
__clone(){ } 
        
        
//Crear instancia desde fuera
        
public static function Instanciar()
        { 
              if (!(
self::$instancia instanceof self))
                 
self::$instancia= new self();  
            return 
self::$instancia
           } 
        
        
//Realizar conexion a la base de datos
        
public function Conectar()
        {
            
$this->conexionmysql_connect($this->conexion_servidor$this->conexion_usuario$this->conexion_contrasena);
            
mysql_select_db($this->conexion_bd$this->conexion);
            
mysql_query ("SET NAMES 'utf8'");
        }
        
//Realizar consulta a la base de datos
        
public function Consulta($datos)
        {
            
$this->resultadomysql_query($datos$this->conexion);
            
            return 
$this->resultado;
        }
        
//Devolver resultado de un campo de consulta a la base de datos
        
public function ResultadoConsulta($consulta)
        {
            
$this->resultadomysql_result($consulta0);
            
            return 
$this->resultado;
        }
        
//Devolver array de datos de consulta a la base de datos
        
public function ArrayConsulta($consulta)
        {
            
$this->resultadomysql_fetch_array($consulta);
            
//echo mysql_errno($this->conexion).": ".mysql_error($this->conexion);
            
            
return $this->resultado;
        }
        
//Devolver array numerico de datos de consulta a la base de datos
        
public function ArraynumConsulta($consulta)
        {
            
$this->resultadomysql_fetch_row($consulta);
            
//echo mysql_errno($this->conexion).": ".mysql_error($this->conexion);
            
            
return $this->resultado;
        }
        
//Devolver numero de filas de consulta a la base de datos
        
public function FilasConsulta($consulta)
        {
            
$this->resultadomysql_num_rows($consulta);
            
//echo mysql_errno($this->conexion).": ".mysql_error($this->conexion);
            
            
return $this->resultado;
        }
        
//Devolver ultimo id de consulta
        
public function UltimoId()
        {
            return 
mysql_insert_id($this->conexion);
        }
    } 
El problema que tengo es que, cuando hay un error en mi codigo, el debug de php me da que el error esta en una linea de mi clase manejadordb, pero no me dice la linea de error en mi codigo php donde he utilizado el metodo de mi clase..

Un ejemplo:

Si en la linea 100 de mi archivo registro.php ago un "Consulta("SELE * FROM tabla");" (Donde se ve que hay un error de sintaxis), php me dice que el error esta en manejadordb.php y no en registro.php en la linea 100

¿Como lo soluciono?

Gracias!
__________________
http://www.pkmrpg.es
  #2 (permalink)  
Antiguo 24/04/2010, 07:43
 
Fecha de Ingreso: enero-2009
Mensajes: 434
Antigüedad: 15 años, 3 meses
Puntos: 5
Respuesta: Uso clase para mysql querys, y tengo un problema al debuggear

Para que se utiliza exactamente ese código que has expuesto ?

Se supone que es para hacer muchisimas consultas a la base de datos, sin tener que estar escribiendo cada vez el

$sql = "SELECT ...";
$result = mysql_query();
  #3 (permalink)  
Antiguo 24/04/2010, 10:38
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Uso clase para mysql querys, y tengo un problema al debuggear

Debes incluir la clase en el archivo usando include, require, include_once o require_one.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #4 (permalink)  
Antiguo 24/04/2010, 14:07
 
Fecha de Ingreso: septiembre-2005
Ubicación: Valencia
Mensajes: 738
Antigüedad: 18 años, 7 meses
Puntos: 5
Respuesta: Uso clase para mysql querys, y tengo un problema al debuggear

Hola creo que no me entendeis...

Cuando incluyo la clase y utilizo uno de sus metodos en mi aplicacion y se produce un error, php debug me indica que el error esta en la clase, pero yo quiero saber en que linea de mi fichero donde inclui la clase se produjo el error.
__________________
http://www.pkmrpg.es
  #5 (permalink)  
Antiguo 24/04/2010, 14:47
 
Fecha de Ingreso: febrero-2010
Mensajes: 24
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Uso clase para mysql querys, y tengo un problema al debuggear

Claro, no se mucho de clases pero te da el error en ella porque ahi haces la consulta osea en la parte mysql_query colocale die, que te devuelva la consulta que ingresaste para ver donde esta el error salu2. Perdon si me equivoque.
  #6 (permalink)  
Antiguo 24/04/2010, 15:36
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
Tema movido desde PHP a PHP orientado a objetos
  #7 (permalink)  
Antiguo 24/04/2010, 18:42
 
Fecha de Ingreso: agosto-2008
Mensajes: 271
Antigüedad: 15 años, 8 meses
Puntos: 2
Respuesta: Uso clase para mysql querys, y tengo un problema al debuggear

Hola

una cosa en la cual debes prestar atención es que si utilizas el patrón de diseño singleton el constructor de la clase debe ser privado para que no instancien la clase directamente y de esa forma generen mas de un link de conexión a la bd. Con respecto al tema central que php tire ese error en el ejemplo que pusiste esta bien ya que las query son tratadas por la clase manejador db y no por la clase registro.

Saludos
  #8 (permalink)  
Antiguo 26/04/2010, 21:29
 
Fecha de Ingreso: diciembre-2006
Ubicación: Peruvian
Mensajes: 142
Antigüedad: 17 años, 4 meses
Puntos: 7
Respuesta: Uso clase para mysql querys, y tengo un problema al debuggear

Con el tiempo me arme esta class mirando el codigo de algunos cms como joomla y wordpress e incluye un metodo notify();
Sera facil que lo adaptes a tus necesidades.
Saludos
http://www.glocales.com/archivos/scr...s.database.txt

Etiquetas: clase, mysql, querys
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 19:07.