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

Duda con un objeto de una clase mySQL

Estas en el tema de Duda con un objeto de una clase mySQL en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Qué tal amigos, bien pues mi duda es la siguiente: Tengo mi clase para conectarme al servidor MySQL y seleccionar la BD, dentro de la ...
  #1 (permalink)  
Antiguo 27/08/2008, 09:49
Avatar de memoo  
Fecha de Ingreso: marzo-2008
Mensajes: 89
Antigüedad: 16 años, 1 mes
Puntos: 1
Duda con un objeto de una clase mySQL

Qué tal amigos, bien pues mi duda es la siguiente:

Tengo mi clase para conectarme al servidor MySQL y seleccionar la BD, dentro de la misma clase también tengo funciones que me sirven para hacer querys y meter los resultados en arreglos (mysql_fetch_array), contar las filas, etc.

Bien mi duda es que por ejemplo, en cierto programilla, creo mi objeto de esa clase (ej. $obj->new mysql_clase;) y quiero lanzar varios querys, qué pasaría?, es decir, cuando quiera guardar los resultados de los querys en un arreglo se va a guardar el último resultado o todos los resultados de los querys, es posible hacer esto? si no, cual sería la forma más adecuada de hacer esto.

Saludos, espero haberme explicado bien...

Memo
__________________
And how can't we win? When fools can be kings, don't waste your time, or time will waste you...
Knights Of Cydonia
MUSE ROCKS
  #2 (permalink)  
Antiguo 27/08/2008, 10:02
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: Duda con un objeto de una clase mySQL

Hola memoo,

Lo mejor es seguir con el mismo paradigma de mysql_query, y es que tu query devuelva otro objeto que puedas usar, por ejemplo:
Código PHP:
$db = new DB('mysql'$settings);
$result $db->query"SELECT ..." );
foreach( 
$result as $row ) {
      echo 
$row['name'];
}
$result2 $db->query"SELECT ..." );
$result3 $db->query"SELECT ... ");
$row $result2->fetchRow();
$row2 $result3->fetchRow(); 
Saludos.
  #3 (permalink)  
Antiguo 27/08/2008, 13:30
Avatar de memoo  
Fecha de Ingreso: marzo-2008
Mensajes: 89
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: Duda con un objeto de una clase mySQL

OK, me queda claro, en la variable donde vaya a guardar el resultado de la consulta mediante el objeto, puedo mandar a llamar a las demás funciones de la clase.

Excelente respuesta, me suena bastante lógica, ahorita la pruebo y comento, gracias GatorV

Saludos! you rock
__________________
And how can't we win? When fools can be kings, don't waste your time, or time will waste you...
Knights Of Cydonia
MUSE ROCKS
  #4 (permalink)  
Antiguo 27/08/2008, 13:43
Avatar de memoo  
Fecha de Ingreso: marzo-2008
Mensajes: 89
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: Duda con un objeto de una clase mySQL

Bueno, ahora la duda que viene a mi mente es de que si puedo usar un destructor en mi clase

Código PHP:
function __destruct()
{
        
/*----------------------------------
        Libera la variable resultadoQuery si contiene recursos.
        -----------------------------------*/        
        
if ( is_resource($this->resultadoQuery) ) {
            
mysql_free_result($this->resultadoQuery);
        }
        
/*----------------------------------
        Llamamos a la funcion desconectar()
        -----------------------------------*/        
        
$this->desconectar();

esto para que podamos ocupar el mismo objeto de la clase para hacer varios querys...

sería algo bueno?

Saludos
__________________
And how can't we win? When fools can be kings, don't waste your time, or time will waste you...
Knights Of Cydonia
MUSE ROCKS
  #5 (permalink)  
Antiguo 27/08/2008, 13:46
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: Duda con un objeto de una clase mySQL

Es mejor si cierras directamente la conexión en el destructor, ya que la idea es destruir $this.

Por otro lado te recomiendo que en lugar de re-inventar la rueda jeje, aprendas a usar una libreria de Db como la de Zend.

Saludos.
  #6 (permalink)  
Antiguo 27/08/2008, 14:14
Avatar de memoo  
Fecha de Ingreso: marzo-2008
Mensajes: 89
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: Duda con un objeto de una clase mySQL

Cita:
Iniciado por GatorV Ver Mensaje
Por otro lado te recomiendo que en lugar de re-inventar la rueda jeje, aprendas a usar una libreria de Db como la de Zend.
Si me gustaría meterme con Zend pero justamente ahorita en el trabajo quieren que haga la clase propia, ¿por qué? no sé, pero tengo que hacerla...

Jaja bueno muchas gracias GatorV

uumhhh, no me queda claro cómo usar Zend, si sea un programa para "programar" tipo netbeans, o unas clases en cojunto...

saludos
__________________
And how can't we win? When fools can be kings, don't waste your time, or time will waste you...
Knights Of Cydonia
MUSE ROCKS
  #7 (permalink)  
Antiguo 27/08/2008, 14:26
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: Duda con un objeto de una clase mySQL

Zend Framework => Framework oficial de PHP para el Desarrollo de Aplicaciones
Zend Studio => IDE basado en Eclipse PDT
Zend Core => Servidor Web con PHP 5 y afinaciones de Zend
Zend Guard => Suite para proteger y optimizar tu codigo PHP

Saludos.
  #8 (permalink)  
Antiguo 27/08/2008, 14:31
Avatar de memoo  
Fecha de Ingreso: marzo-2008
Mensajes: 89
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: Duda con un objeto de una clase mySQL

OOOORALE CA... NIJO!
JAJA

muchas gracias, lo tomo en cuenta ahorita le echo un vistazo a la información.

Saludos y muchas gracias de nuevo :D
__________________
And how can't we win? When fools can be kings, don't waste your time, or time will waste you...
Knights Of Cydonia
MUSE ROCKS
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 07:40.