Ver Mensaje Individual
  #3 (permalink)  
Antiguo 31/03/2010, 12:54
Avatar de neodani
neodani
 
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 2 meses
Puntos: 20
Respuesta: Duda con clase mysql, saber si se ejecuta 2 veces la consulta

Cita:
Iniciado por GatorV Ver Mensaje
A tu pregunta, sí ya que tu método num_rows manda a llamar a $this->execute(); Lo que tendrías que hacer es checar dentro de tu método execute() si ya existe un $this->resource, y en dado caso que exista usar ese en lugar de volverlo a lanzar.

Saludos.
Es decir, que debería quedar así?

Código PHP:
Ver original
  1. public function execute(){
  2.         if (!$this->resource){
  3.             if(!($this->resource = mysql_query($this->sql, $this->conexion))){
  4.                 return null;
  5.             }
  6.         }
  7.         $this->queries++;
  8.         return $this->resource;
  9.     }

Qué es lo que se guarda en el $this->resource? el resultado del mysql_query?

Si es así, porque no utilizar directamente en la función del número de columnas?
Código PHP:
Ver original
  1. function num_rows(){
  2.         return @mysql_num_rows($this->resource);
  3.     }

Muchas gracias de antemano!