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

Problema con paso de valores de una clase

Estas en el tema de Problema con paso de valores de una clase en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola amigos, estoy empezando a manejarme con esto de POO y no me sale una cosa. tengo una clase para consultas en la base de ...
  #1 (permalink)  
Antiguo 11/08/2006, 17:41
 
Fecha de Ingreso: mayo-2005
Ubicación: Muy lejos de aquí
Mensajes: 367
Antigüedad: 18 años, 11 meses
Puntos: 0
Problema con paso de valores de una clase

Hola amigos, estoy empezando a manejarme con esto de POO y no me sale una cosa. tengo una clase para consultas en la base de datos, con el siguiente codigo, el metodo que no me funciona:

Código PHP:
        function consultaSql $sql "" ) {
            if ( 
$sql == "" ) {
                
$this -> Error "No ha especificado una consulta SQL";
                return 
0;
                }
        
            
//ejecutamos la consulta
            
$this -> Consulta_ID = @mysql_query$sql$this -> Conexion_ID );
        
            if ( !
$this -> Consulta_ID ) {
                
$this -> Errno mysql_errno();
                
$this -> Error mysql_error();
                }
            
            
$campo mysql_fetch_row$this -> Consulta_ID );
            
//$this -> valor = $campo["$i"];

            
            /* Si hemos tenido éxito en la consulta devuelve el identificador de la conexión, sino devuelve 0 */
                
return $this -> $campo;
            } 
Desde la web que necesito la consulta hago:

Código PHP:
$novedades $miconexion -> consultaSql ("Select * From libros Where activado = '1' order by hora desc, id limit 8"); 
La idea es que me devuelva los 8 libros seleccionados a la variable $novedades, pero no me sale.

Antes hacia:
Código PHP:
$novedades mysql_db_query ($bd"Select * From libros Where activado = '1' order by hora desc, id limit 8"); 
Y lo recorria con un While, pero con el cambio a POO no se...

Espero me ayuden.

Gracias!!
__________________
Saludos!
  #2 (permalink)  
Antiguo 11/08/2006, 17:48
 
Fecha de Ingreso: mayo-2005
Ubicación: Muy lejos de aquí
Mensajes: 367
Antigüedad: 18 años, 11 meses
Puntos: 0
Lo he resuelto asi pero no se si estará bien, aunque funciona:

Código PHP:
        function consultaSql $sql "" ) {
            if ( 
$sql == "" ) {
                
$this -> Error "No ha especificado una consulta SQL";
                return 
0;
                }
        
            if ( !
$this -> Consulta_ID ) {
                
$this -> Errno mysql_errno();
                
$this -> Error mysql_error();
                }
            
            
// Ejecuto la consulta
                
$campo mysql_db_query $this -> BaseDatos$sql );
            
            
/* Devuelvo los resultados de la consulta */
                
return $campo;
            } 
__________________
Saludos!
  #3 (permalink)  
Antiguo 12/08/2006, 11:38
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
Hola, tu primer problema en tu primer codigo es que tu funcion te regresa un array (o sea el primer resultado de tu query)

Tu segundo codigo te regresa el puntero al recurso asignado por la funcion mysql_query para que puedas hacer uso de mysql_fetch_array, mysql_num_rows, etc.

En si nunca tuviste un "error" yo te recomendaria que si estas iniciando a programar una clase para usar tu base de datos, veas unas ya creadas y te des una idea para que empieces a programar tu clase con un nivel de abstraccion mas alto.

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 03:32.