No puedo acceder a una base de datos Mysql con php

Iniciado por arielbuo, 4 Marzo 2009, 16:16 PM

0 Miembros y 1 Visitante están viendo este tema.

arielbuo

Hola amigos!! Estoy realizando consultas a mi base de datos MySQL ya lista en el servidor con los datos cargados y todo, pero no puedo acceder a una consulta despues que paso a realizar la conexión de la base de datos.
La base de datos tiene una sola tabla de nombre "palabras" y dos registros "ingles" y "espaniol"
Utilizo un formulario comun y corriente para tomar los datos como nombre, clave, usuario etc.. de la base de datos a consultar.
Y luego con todos esos datos los llevo por POST a un archivo "CONEXION_A_DB.PHP" que realiza la conexion y todo eso.

El problema está cuando despues de realizar la conexion que lo hace correctamente, tengo que hacer la consulta por medio de un formulario y no lo toma y me salta el siguiente error :


Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'np000082'@'localhost' (using password: NO) in /home/np000082/public_html/conexion_a_db.php on line 17

No se ha podido conectar con la base de datos


Espero me puedan ayudar con ésto porque no se como hacer ya, muchas gracias!!!!!


aca van los dos archivos....
"FORMULARIO.HTML"
Código (html4strict) [Seleccionar]

<form id="form1" name="form1" method="post" action="conexion_a_db.php">
      <label>Usuario
      <input name="usuario" type="text" id="usuario" />
      </label>
        <p>
          <label>Clave
          <input name="clave" type="password" id="clave" />
          </label>
        </p>
        <p>
          <label>Base de datos
          <input name="bd" type="text" id="bd" />
          </label>
        </p>
        <p>
<label>
          <input type="submit" name="enviar" value="Enviar datos" />
          </label>
</p>

</form>




y ACÁ VA EL OTRO: "CONEXION_A_DB.PHP"

Código (php) [Seleccionar]

</head>
<body>

<?php
if(!($conexion=mysql_connect("localhost",$_POST['usuario'],$_POST['clave'])))
{
echo 
"No se ha podido conectar con la base de datos";
exit();
}
if(!(
mysql_select_db($_POST['bd'],$conexion)))
{
echo 
"Error al selecionar la base de datos";
exit();
}
echo 
"conexión establecida.";


$dbname=$_POST['bd'];
$tablename="palabras";

$query "SELECT * FROM `palabras` WHERE `ingles` LIKE 'consulta'"

$result=mysql_db_query ($dbname$query$conexion);
   while (
$row mysql_fetch_array ($result))
   {
      print (
"<TR>");
      print (
"<TD>$row[ingles]</TD>n");
      print (
"<TD>$row[espaniol]</TD>n");
      print (
"</TR>");
    }
    
mysql_free_result($result);
?>


<form id="form1" name="form1" method="post" >
  <label>Consulta
  <input name="consulta" type="text" id="consulta" />
  </label>
  <label>Realizar consulta
  <input type="submit" name="Submit2" value="Enviar" />
  </label>

</form>
</body>

</html>


AlbertoBSD

Cita de: arielbuo en  4 Marzo 2009, 16:16 PM
Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'np000082'@'localhost' (using password: NO) in /home/np000082/public_html/conexion_a_db.php on line 17

Al parecer no esta aceptando el usuario.

Trata de utilizar los tags code

Citar
[ code=php][ /code]
[ code=html4strict][ /code]

Esto para que el post sea un poco mas claro
Saludos.
Donaciones
1Coffee1jV4gB5gaXfHgSHDz9xx9QSECVW

arielbuo

Gracias ahora se ve mucho mejor!!!
Con respecto al problema que tengo: lo que pasa es que en el archivo php tengo que hacer la consulta a la base de datos y ahi como que se pierden los datos del usuario y clave, por eso no me deja volver a consultar.
La conexión la realiza perfectamente cuando se completa el primer formulario del archivo FORMULARIO.HTML, el tema está despues de eso...

AlbertoBSD

Pues en ese caso si es un codigo fijo, por que no dejar las variables ya ahi en php directamente, osi no es asi que las lea de un archivo de configuracion y las mantenga ahi en memoria global.

Saludos.
Donaciones
1Coffee1jV4gB5gaXfHgSHDz9xx9QSECVW

arielbuo

como un codigo fijo?? no entiendo eso
Basicamente lo que yo quiero hacer es primero validar un usuario y contraseña y base de datos etc. para realizar la conexion que es lo que hace con el primer formulario, luego una vez que la conexion se realiza, comenzar con las consultas, que para ésto ultimo tengo que hacerlo por medio de otro formulario y consultar la base de datos.
Pero parece ser que cuando quiero consultar algo en la base de datos no se puede conectar o no se que pasa, para mi se pierden los datos de las variables que yo paso por POST al archivo PHP.
En todo caso como hago para no perder esos datos con variables globlales como me decis?
Y si existe otra forma mejor. Gracias

AlbertoBSD

Guardalos en un archivo y cargalos cada vez que lo necestites.

Saludos.
Donaciones
1Coffee1jV4gB5gaXfHgSHDz9xx9QSECVW

Mr. Crowley

Primero que todo.. hola! Recomiendo que cada vez que realice cualquier consulta a la base de datos, cierre la conexion que utilizo. Usted podria utilizar una funcion como esta (la almacena en un archivo independiente, por ejemplo: conexion.php), y cada vez que necesite hacer una consulta llama a la funcion:


<?php
    
function fntConectar(){
$con=mysql_connect("servidor","usuario","contrasena");
if($con){
if(!mysql_select_db("base_de_datos",$con)){
exit();
}
}else{
exit();
}
return $con;
    }
?>



En mi caso hago esto:


<?php
    
include("conexion.php");
    
$con=fntConectar();

    
$result=mysql_query("SELECT lo_que_sea FROM Tabla",$con);
    
#aqui el codigo para manipular los datos devueltos por la consulta
    
mysql_close($con);
?>



En cuanto a los datos del usuario y la contrasena, me parece que leer un archivo de texto es una solucion, pero como consecuencia se irian almacenando archivos en el servidor, y tendria que eliminarlos cada vez que un usuario cierre la aplicacion. Que le parece si utiliza sesiones?

Solo seria modificar la funcion fntConectar() para que, cuando el usuario se conecte correctamente, se creen dos variables de sesion, por ejemplo $_SESSION["usuario"]="mi_usuario" y $_SESSION["contrasena"]="mi_contrasena", y las siga utilizando para el resto de consultas.
Mi blog personal: www.calirojas.com