Ver Mensaje Individual
  #6 (permalink)  
Antiguo 31/03/2010, 14:35
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
O usar mejor is_resource y en efecto es mejor si usas directamente "return mysql_num_rows($this->resource);".

PD. no es tan recomendable que uses @ es mejor que tengas una mejor forma de controlar tus errores que solamente suprimirlos.

Saludos.
He entendido bien...?
Para ese caso del mysql_num_rows no haría falta usar el is_resource y es mejor utilizar directamente el return mysql_num_rows($this->resource);

Pero para este caso si que lo ideal sería que quedase así?

Código PHP:
Ver original
  1. private function __construct($servidor, $user, $password, $db){
  2.         $this->conexion = mysql_connect($servidor, $user, $password);
  3.         if (!is_resource($this->conexion)) {
  4.             die('Can\'t connect : ' . mysql_error());
  5.         }
  6.         mysql_select_db($db, $this->conexion);
  7.         $this->queries = 0;
  8.         $this->resource = null;
  9.     }

Y en lugar de

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.     }

Quedaría así?

Código PHP:
Ver original
  1. public function execute(){
  2.         if (!is_resource($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.     }

Muchas gracias de antemano