Ver Mensaje Individual
  #18 (permalink)  
Antiguo 28/02/2011, 17:35
fcmonier85
 
Fecha de Ingreso: octubre-2009
Mensajes: 104
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Ayuda con clase PHP

Hola nuevamente nesesitos de su ayuda denuevo:

clase consultas:
Código PHP:
Ver original
  1. <?php
  2.     require_once "class_conexion_bd.php";
  3.    
  4.     class class_mysql_consultas
  5.     {  
  6.         function __construct()
  7.         {
  8.             $this->class_mysql = class_mysql::getInstance();
  9.         }
  10.         //se ejecuta una consulta
  11.         public function dbquery($consulta)
  12.         {
  13.             //me conecto a la BD
  14.             $this->class_mysql->conectarme_mysql();
  15.             //ejecuto consulta
  16.             $resultado = @mysql_query($consulta);
  17.             if(!$resultado)
  18.             {
  19.                 echo 'MySQL Error: ' . @mysql_error();
  20.                 exit;
  21.             }
  22.             //me desconecto de la BD
  23.             $this->class_mysql->cerrar_conexion();
  24.             //mand resultado
  25.             return $resultado;
  26.         }
  27.         //debuelbe un array con los resultados de la consulta donde la cual se ve los resultados por el nombre del campo de la BD
  28.         public function dbarray($consulta)
  29.         {
  30.             //me conecto a la BD
  31.             //$this->class_mysql->conectarme_mysql();
  32.             //$this->coneccion();
  33.             $resultado = @mysql_fetch_assoc($consulta);
  34.             //me desconecto de la BD
  35.            // $this->class_mysql->cerrar_conexion();
  36.             return $resultado;
  37.            
  38.         }
  39.         //me da la cantidad de duplas de un una consulta a la BD
  40.         public function dbrows($consulta)
  41.         {  
  42.             //me conecto a la BD
  43.             //$this->class_mysql->conectarme_mysql();
  44.             //$this->coneccion();
  45.             $resultado = mysql_num_rows($consulta);
  46.             //me desconecto de la BD
  47.             //$this->class_mysql->cerrar_conexion();
  48.             return $resultado;
  49.         }
  50.     }
  51.    
  52. ?>

clase conexion:
Código PHP:
Ver original
  1. <?php
  2.     class class_mysql
  3.     {  
  4.         private $conexion;     
  5.         private static $_instance = null;
  6.         //singelton
  7.         public static function getInstance() {
  8.             if( self::$_instance == null )
  9.             {
  10.                 self::$_instance = new self();
  11.             }
  12.             return self::$_instance;
  13.          }
  14.         //metodo para conectarme a la BD
  15.         public function conectarme_mysql()
  16.         {
  17.             if(!isset($this->conexion))
  18.             {
  19.                 $this->conexion = (mysql_connect("localhost","root","xxx")) or die(mysql_error());
  20.                 mysql_select_db("ext_aprendiando",$this->conexion) or die(mysql_error());
  21.             }
  22.         }
  23.         //cerrar conexion
  24.         public function cerrar_conexion()
  25.         {
  26.             return mysql_close($this->conexion);
  27.         }  
  28.     }
  29. ?>

pagina php
Código PHP:
Ver original
  1. <?php  
  2.     require_once "class/class_consultas_bd.php";
  3.  
  4.     $class_mysql_consultas = new class_mysql_consultas();
  5.      
  6.     $consulta5 = $class_mysql_consultas->dbquery("SELECT nombre_usuario FROM ext_login WHERE nombre_usuario = 'admin'");
  7.     $cantidad = $class_mysql_consultas->dbrows($consulta5) ;
  8.     echo $cantidad."<br>" ;
  9.  
  10.     $consulta = $class_mysql_consultas->dbquery("SELECT nombre_usuario FROM ext_login");
  11.    
  12.     if($class_mysql_consultas->dbrows($consulta)>0)
  13.     {
  14.         while($resultados = $class_mysql_consultas->dbarray($consulta))
  15.         {
  16.             echo "ID: ".$resultados['nombre_usuario']."<br />";
  17.         }
  18.     }
  19. ?>

la cuestion es la siguiente cuando ejecuto el llamado a la funcion dbquery que la llamo en la pagina php dos veses me da bateo, es decir me pone este error:

4
MySQL Error: Access denied for user 'ODBC'@'localhost' (using password: NO)

y en el primero si se conecta pero ya para el segundo llamado no se conecta...

la cosa es que no se pq pasa pq me conecto y me desconecto cuando llamo ala funcion...