Foro

Duda de programacion PHP+BD

Otros lugares, otras opciones :: Sin clasificar :: Duda de programacion PHP+BD

Este hilo ha sido cerrado.
17/01/2015, 23:26

Saludos.

Lo primero que espero que esté en el apartado correspondiente.

Ahora va mi duda.

Estoy usando la aplicación XAMPP que me haga de servidor, creo la base de datos en MYSQL, con el php creo un fichero llamado conexión.php con los siguientes datos (server, user, passw y bd) para poder acceder a la BD y cargar los datos de una de las tablas.

El problema lo tengo que me dice acceso denegado, en clase no he tenido problema alguno, cargo la web sin problemas, pero en el pc que estoy usando ahora me sale el siguiente error: Access denied for user 'root'@'localhost' (using password: YES)

El archivo conexión es:

<?php

$server = "localhost";

$user = "root";

$passw = "root";

$bd= "nombrebd";

?>

Sospecho que tiene algo que ver con la contraseña o con algún permiso tonto que no consigo encontrar, no puse ninguna contraseña a la bd y los permisos dentro del PHPMyadmin están por defecto, no toqué nada.

También me gustaría saber como cambiar los datos cuando tenga que acceda a la web usando un hosting. 

Era eso, gracias por vuestro tiempo ^^

 

18/01/2015, 10:41

Si no has tocado nada, pruebas con pasword vacío, es decir

$passw = "";

Sino, ya no sabría decirte sin más datos.

Cuando subas al servidor, es lo mismo. Tendrás tu bbdd, tendrás que crear una con el nombre que tú quieras, y en tu config que tienes ahora cambiar los datos. En el hosting te dirán cuál es tu usuarios y tu password de la base de datos.

18/01/2015, 12:00

También lo probé, y nada. Supongo que cambia si usas XAMPP o MAMPP, en clase uso MAC y MAMPP, en casa Windows 8 y XAMPP. 

Probé con hostinger en subir la bd, y no lo conseguí:

<?php

$server = "serverdehostinger";

$user = "user_root";

$passw = ";

$bd= "user_nombrebd";

?>

El user es una ristra de números y letras que no me acuerdo exactamente, pero aparece en el tablero de hostinger. Pero me sigue dando el mismo problema. Esta tarde voy a probarlo en otro pc, a ver que tal.

Gracias Tersoal.

18/01/2015, 12:43

Al habla un informatico espcializado en programacion web.

Para empezar, no uses nunca el usuario "root" ya que tiene mas agujeros de seguridad que un queso gruyere. Crea un usuario nuevo en el xamp (asegurate de darle TODOS los permisos) y le asignas tu una contraseña. Luego haces los cambios en tu fichero de configuración y ya debería dejarte acceder.

18/01/2015, 12:44

Esto es lo que pasa cuando intento acceder a la página que me muestra la bd.(O debería hacerlo)

Warning: mysqli::mysqli(): (HY000/1045): Access denied for user 'root'@'localhost' (using password: YES) in C:xampphtdocsProyectopagesjuegos2.php on line 5

Warning: mysql_query() expects parameter 1 to be string, object given 

Warning: mysqli::query(): Couldn't fetch mysqli in C:xampphtdocsProyectopagesjuegos2.php on line 8

Notice: Trying to get property of non-object in C:xampphtdocsProyectopagesjuegos2.php on line 10
No hay resultados que mostrar
Notice: Undefined variable: conexion in C:xampphtdocsProyectopagesjuegos2.php on line 30

Fatal error: Call to a member function close() on null in C:xampphtdocsProyectopagesjuegos2.php on line 30

Y este es el archivo en cuestión

 

                    require_once("../bd/conexion.php");

                    $connection=new mysqli($server,$user,$bd); <-- Linea 5                   

                    $sql="SELECT * FROM JUEGOS order by nombre";
                    $result=$connection->query($sql);                    

                    if ($result->num_rows > 0) {  <---Linea 8                   
                        
                        while($row = $result->fetch_assoc()) {
                            echo "

";
                            echo "";
                            echo "";
                            echo "";
                            echo "";
                            echo "";
                            echo "";
                            echo "";
                            echo "
";
                            echo " ";
                            echo "
".$row["nombre"]."
".$row["genero"]."
".$row["empresa"]." ".$row["anyo"]."
".$row["descripcion"]."

";
                            echo "

";
                        }
                        
                    } else {
                        echo "No hay resultados que mostrar";
                    }
                    $conexion->close();

 

                ?>

Gracias Dragoon, pero es un para un pequeño proyecto sin importancia, de esos que quedarán en el olvido una vez presentados. Usar y tirar, nada serio.

18/01/2015, 12:53

Para empezar, no uses nunca el usuario "root" ya que tiene mas agujeros de seguridad que un queso gruyere. Crea un usuario nuevo en el xamp (asegurate de darle TODOS los permisos) y le asignas tu una contraseña.

¿Qué diferencia hay entre usar root y un usuario con TODOS los permisos?.

18/01/2015, 12:56

Pues he creado otro usuario con todos los permisos, vamos un admin, y con contraseñ, usando el phpmyadmin, y nada. Me sigue dando el mismo error. Imagino que tendrá que ser algo de la configuración del programa. A ver si en otro pc lo pruebo y a ver que pasa.

Albos
 
Carné Umbriano nº709
18/01/2015, 13:26

Creo que se refiere al hecho de que la gente probará primero con un usuario root y no con un nombre inventado por ti que puede ser cualquier, javierrivera. Es lo único que se me ocurre.

18/01/2015, 13:28

Ya, pero el usuario root sigue ahí lo uses o no ;)

Albos
 
Carné Umbriano nº709
18/01/2015, 15:36

Pues es verdad. La verdad que ya era una apuesta a la desesperada, pero no se me ocurre ninguna otra diferencia entre root y otro usuario totipotente.

Unai
 
18/01/2015, 22:38

    $connection=new mysqli($server,$user,$bd); <-- Linea 5   

¿Y el password?

18/01/2015, 22:50

Jolin qué ojo Unai, no me había dado cuenta.

18/01/2015, 23:05

Sí, era eso. Muchísimas gracias, Unai.

Que error más tonto, me da hasta vergüenza XD

De verdad, me has hecho un favorazo.

Tanto tiempo buscando los fallos que toqué lo que no debía, en fin. Gracias ^^

19/01/2015, 00:30

De vergüenza nada. Es el típico error difícil de ver, nos pasa a todos.

21/01/2015, 13:43

Y respecto a lo del usuario "Totipoderoso", se trata de dos cosas:

Punto UNO: NO crees un usuario "Totipoderoso" si puedes evitarlo. Crea uno que pueda Ver, Insertar... y si es necesario, modificar y borrar (Tareas DDL). Pero que no tenga tareas DML.

Punto DOS: Si puedes, modifica que no se pueda acceder a ROOT de manera remota. Piensa que Root puede acceder a TODOS los esquemas. Si dejas los datos de acceso a Root, y los encuentran en uno de tus Scripts... ¡Ay!

Punto 3: Ya te lo dijeron, pero tranquilo. A mi me pasó AYER!

 

 

Este hilo ha sido cerrado.