Foros del Web » Programando para Internet » PHP »

Problemas de conexion con BD

Estas en el tema de Problemas de conexion con BD en el foro de PHP en Foros del Web. Tengo un problema sencillo, pero me ha dado mucha pela solucionarlo siempre he trabajado la conexion con la Base de datos Mysql de la siguiente ...
  #1 (permalink)  
Antiguo 03/01/2012, 23:19
Avatar de mitcheldaza  
Fecha de Ingreso: junio-2011
Ubicación: Colombia
Mensajes: 42
Antigüedad: 12 años, 10 meses
Puntos: 1
Pregunta Problemas de conexion con BD

Tengo un problema sencillo, pero me ha dado mucha pela solucionarlo

siempre he trabajado la conexion con la Base de datos Mysql de la siguiente manera y efectivamente funciona.

Código PHP:
$conexion=mysql_connect("localhost","usuario_permisos","clave_usuario_permisos") or die ("No es posible la conexion con la BD");
mysql_select_db("teatro",$conexion) or die("problemas en la selecion de la BD"); 
Ahora quiero centralizar todas las conexiones en una sola clase y obtener las conexiones por medio de un objeto de esa clase ....

lo que necesito es realizar la conexion de la siguiente manera ... que al momento no funciona y genera un error

Código PHP:

         
private $user='usuario_permisos';
     private 
$pass='clave_usuario_permisos';
     private 
$BD='teatro';
     private 
$url='localhost';
         
         
$conexion=mysql_connect($url,$user,$pass) or die ("No es posible la conexion con la BD");
                    
                    
mysql_select_db($BD,$conexion) or die("problemas en la selecion de la BD"); 
Como se dan cuenta solo cambia la manera como paso los parametros de la conexion, funciona correctamente todo cuando los paso directamente, mientras que si los paso primero guardandolos en una variable y despues pasando esta variable como parametro no funciona.

Alguien podria decirme el por que de esto ?

Revise muy bien que el paso directamente y el paso por variable esten correctamente escritos, asi que no es error de escritura, las variables estan declaradas como private pues solo la clase donde son declaradas tendran acceso a estas.

El error que se genera es este
Access denied for user 'ODBC'@'localhost' (using password: NO)

Como se ve trata de conectarse con el usuario ODBC no se que puede significar pero el usuario que deseo conectar a la Bd es 'usuario_permisos'.

Por favor se que es un error muy simple, pero si a alguien le ha pasado o si sabe por que ocurre agradezco su ayuda
  #2 (permalink)  
Antiguo 03/01/2012, 23:45
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 14 años, 11 meses
Puntos: 322
Respuesta: Problemas de conexion con BD

Me parece que no sabes del manejo de variables internas hablando de modo Orientado a Objetos. Mira éste ejemplo de una conexión:
Código PHP:
Ver original
  1. <?php
  2.  
  3. class Conexion {
  4.     private $host = 'localhost';
  5.     private $user = 'usuario';
  6.     private $pass = 'password';
  7.     private $db = 'database';
  8.     private $conexion = false;
  9.    
  10.     public function __construct() {
  11.         $this->conexion = mysql_connect($this->host, $this->user, $this->pass) or die ('Error al conectar');
  12.         mysql_select_db($this->db, $this->conexion) or die ('Error al seleccionar db');
  13.         return true;
  14.     }
  15.    
  16.     public function getConexion() {
  17.         return $this->conexion;
  18.     }
  19. }
  20.  
  21. $conexion = new Conexion;
  22. var_dump($conexion->getConexion());

Observa el uso de $this, que se usa para acceder a métodos internos de la clase (funciones, variables...).
También te invito a leer ésto: http://www.php.net/manual/es/language.oop5.basic.php

Saludos!
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #3 (permalink)  
Antiguo 03/01/2012, 23:46
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Problemas de conexion con BD

Yo pienso igual, primero que todo necesitas entender lo básico de programación orientada a objetos para poder continuar. Estás mezclando el agua con el aceite... Debes trabajar con propiedades y métodos. Sabes usar $this? método constructor?

http://php.net/manual/es/oop5.intro.php
http://www.phpya.com.ar/poo/

Saludos.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #4 (permalink)  
Antiguo 04/01/2012, 18:49
Avatar de mitcheldaza  
Fecha de Ingreso: junio-2011
Ubicación: Colombia
Mensajes: 42
Antigüedad: 12 años, 10 meses
Puntos: 1
Respuesta: Problemas de conexion con BD

Sabia del uso de this para metodos de la misma clase pero jamas vi su uso para variables de la clase.

Todos los dias aprendo algo, gracias por responder y voy a intentar la conexion de esta manera.

Etiquetas: bd, conexion, mysql, sql, variables, usuarios
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 03:06.