Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/01/2013, 08:31
sculdinerisgod
 
Fecha de Ingreso: enero-2013
Mensajes: 7
Antigüedad: 11 años, 3 meses
Puntos: 0
Instanciar objeto de coneccion

Hola a todos,

trabajo en .net pero estoy intentando crear un sitio en php y he tenido algunos problemas, generalmente los soluciono pero este me ha superado.

lo que pasa es que consegui una clase para hacer la coneccion con la base.

Código:
<?php

/* Clase encargada de gestionar las conexiones a la base de datos */
Class Conectar{

   private $servidor='localhost';
   private $usuario='XXX';
   private $password='XXX!';
   private $base_datos='XXX';
   private $link;
   private $stmt;
   private $array;

   static $_instance;

   /*La función construct es privada para evitar que el objeto pueda ser creado mediante new*/
   private function __construct(){
      $this->conectar();
   }

   /*Evitamos el clonaje del objeto. Patrón Singleton*/
   private function __clone(){ }

   /*Función encargada de crear, si es necesario, el objeto. Esta es la función que debemos llamar desde fuera de la clase para instanciar el objeto, y así, poder utilizar sus métodos*/
   public static function getInstance(){
      if (!(self::$_instance instanceof self)){
         self::$_instance=new self();
      }
      return self::$_instance;
   }

   /*Realiza la conexión a la base de datos.*/
   private function conectar(){
      $this->link=mysql_connect($this->servidor, $this->usuario, $this->password);
      mysql_select_db($this->base_datos,$this->link);
      @mysql_query("SET NAMES 'utf8'");
   }

   /*Método para ejecutar una sentencia sql*/
   public function ejecutar($sql){
      $this->stmt=mysql_query($sql,$this->link);
      return $this->stmt;
   }

   /*Método para obtener una fila de resultados de la sentencia sql*/

ACA ES MI PROBLEMA
   public function obtener_fila($stmt,$fila){
      if ($fila==0){
         $this->array=mysql_fetch_array($stmt);
      }else{
         mysql_data_seek($stmt,$fila);
         $this->array=mysql_fetch_array($stmt);
      }
      return $this->array;
   }

   //Devuelve el último id del insert introducido
   public function lastID(){
      return mysql_insert_id($this->link);
   }

}
?>
ENTONCES al hacer una segunda llamada al metodo obtener_fila me arroja este error:


Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\4Music\_clases\Conectar.php on line 48

las llamadas no estan mal , por que las pruebo de manera independiente y funcionan bien, pero al realizarlas juntas me da el error.

puede alguien ayudarme con este tema por favor.
gracias a todos.