Foros del Web » Programando para Internet » PHP »

problema con mysql_connect en servidor local

Estas en el tema de problema con mysql_connect en servidor local en el foro de PHP en Foros del Web. Buenas, tengo un problema que ya me empieza a dar dolores de cabeza ya que no encuentro por ningún lado su solución. El caso es ...
  #1 (permalink)  
Antiguo 22/09/2008, 14:51
 
Fecha de Ingreso: septiembre-2008
Mensajes: 20
Antigüedad: 15 años, 7 meses
Puntos: 0
problema con mysql_connect en servidor local

Buenas, tengo un problema que ya me empieza a dar dolores de cabeza ya que no encuentro por ningún lado su solución.

El caso es que monté un servidor local PHP/MYSQL usando xampp y cuando intento conectar a la base de datos mediante un script php como este, ubicado en lo que sería 'funciones.php':
Código PHP:
function conectar(){
    global 
$HOSTNAME$USERNAME$PASSWORD$DATABASE;
    
$idcnx mysql_connect($HOSTNAME$USERNAME$PASSWORD) or DIE(mysql_error());
    
mysql_select_db($DATABASE$idcnx);
    
    return 
$idcnx;

me tira el error:
Cita:
Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'root'@'localhost' (using password: YES) in C:\xampp\htdocs\sitio\funciones.php on line 5
Access denied for user 'root'@'localhost' (using password: YES)
cuando 'new.php', que es donde ejecuto ya el código, es así:
Código PHP:
include('./config.php');
include(
'./funciones.php');
//he comprobado que los includes funcionan bien y que los datos de acceso a la db son los correctos
$cnx conectar();
mysql_close($cnx); 
El puerto de conexión con mysql es el 3306, osea el default. Con el apache también el default: 80.

He probado a cambiar el parámetro $HOSTNAME de 'localhost' a 'localhost:3306', y ahí entra el quebradero de cabeza: me sigue sin funcionar.


Os agradecería muchísmo vuestra ayuda. Saludos!
  #2 (permalink)  
Antiguo 22/09/2008, 14:55
Avatar de Genetix  
Fecha de Ingreso: febrero-2002
Ubicación: Lima - Perú
Mensajes: 1.600
Antigüedad: 22 años, 2 meses
Puntos: 45
Respuesta: problema con mysql_connect en servidor local

El mensaje te dice que tu usuario no tiene acceso a la DB, create un usuario y prueba.

Saludos!
__________________
"El conocimiento nos hace responsables."
twitter: @benjamingb
blog personal: http://codigolinea.com
ZF Manual en español http://manual.zfdes.com
  #3 (permalink)  
Antiguo 23/09/2008, 18:32
 
Fecha de Ingreso: septiembre-2008
Mensajes: 20
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: problema con mysql_connect en servidor local

ahí está también el problema. En el 'config.php' dí los valores a $HOSTNAME, $USERNAME, $PASSWORD y $DATABASE, y son exactamente los mismos que los del 'config.php' del foro y resulta que ese sí funciona, es decir, el foro conecta con la base de datos del servidor local correctamente (y ahí es donde ya digo: WTF!!!)

gracias Genetix por atenderme ;)
  #4 (permalink)  
Antiguo 25/09/2008, 13:42
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 22 años, 5 meses
Puntos: 655
Respuesta: problema con mysql_connect en servidor local

Trasladado de BD a PHP. Favor no poner código de programación en BD.

Función de la sección de Base de Datos
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
  #5 (permalink)  
Antiguo 26/09/2008, 14:22
 
Fecha de Ingreso: septiembre-2008
Mensajes: 20
Antigüedad: 15 años, 7 meses
Puntos: 0
Busqueda Respuesta: problema con mysql_connect en servidor local

Cita:
Iniciado por BrujoNic Ver Mensaje
Trasladado de BD a PHP. Favor no poner código de programación en BD.
Esque como estoy con un tema que toca PHP y BD para no poner 2 hilos repetidos tenía que decantarme por postearlo en uno, sorry

Bueno ya descubrí de dónde venía el fallo. En el 'config.php' me creé una variable para la contraseña de acceso:

Código PHP:
//variable del config.php
$PASSWORD "passwordDeAccesoALaBD"
Pues bien, en la función de conectar() de 'funciones.php' me dió por agregar unas cuantas salidas a ver qué ocurría si se habían importado bien desde el 'config.php':
Código PHP:
function conectar(){
    global 
$HOSTNAME$USERNAME$PASSWORD$DATABASE;
    echo 
$HOSTNAME."<br/>";
    echo 
$USERNAME."<br/>";
    echo 
$PASSWORD."<br/>";
    echo 
$DATABASE."<br/><br/>";
    
       
//código de conexión con la BD
    

Ejecuto el código en 'new.php':
Código PHP:
include('./config.php');
include(
'./funciones.php');
//conexión con la BD 
y resulta que la salida que me da en el navegador es esta:
Cita:
localhost
root
password
mamawei


Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'root'@'localhost' (using password: YES) in C:\xampp\htdocs\sitio\funciones.php on line 9
Access denied for user 'root'@'localhost' (using password: YES)
Como pueden ver, la variable $PASSWORD que se pasó de forma global por el método conectar() no muestra el valor que se le asignó en el 'config.php', que era "passwordDeAccesoALaBD" al caso, en vez del "password" que muestra.

No entiendo cómo las demás variables se pasaron correctamente pero esa no, ¿alguien me echa una mano por favor?. Gracias de antemano.
  #6 (permalink)  
Antiguo 26/09/2008, 14:23
 
Fecha de Ingreso: septiembre-2008
Mensajes: 20
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: problema con mysql_connect en servidor local

bueno ya dí yo solo con el error. Como el config incluía variables para identificar cada nombre de tabla y de registro de la BD no me dí cuenta que esa variable $PASSWORD se había sobreescribido por "password", que era el nombre que tenía un registro en la BD

pueden cerrar ya el hilo si lo desean. gracias de todos modos.

Última edición por mamawei; 26/09/2008 a las 14:29
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




La zona horaria es GMT -6. Ahora son las 11:47.