Foros del Web » Programando para Internet » PHP »

Error al insertar datos

Estas en el tema de Error al insertar datos en el foro de PHP en Foros del Web. Hola, esto intentando insertar datos en mi bd a traves de la web y me da el siguiente error: Ha habido un error al insertar ...
  #1 (permalink)  
Antiguo 24/07/2006, 11:57
Avatar de kennyhp  
Fecha de Ingreso: julio-2006
Mensajes: 370
Antigüedad: 17 años, 9 meses
Puntos: 5
Error al insertar datos

Hola, esto intentando insertar datos en mi bd a traves de la web y me da el siguiente error:

Ha habido un error al insertar al usuarioAccess denied for user: 'nobody@localhost' (Using password: NO)

(la primera parte del error esta escrita por mi...)

tengo dos paginas que se encargan de insertar, add_usuario.php:

<FORM METHOD="POST" ACTION="add_usuario_resultado.php">
<table width="315" border="0" align="center">
<tr>
<td colspan="4"><div align="center" class="style1">A&Ntilde;ADIR UN USUARIO </div></td>
</tr>
<tr>
<td width="69">&nbsp;</td>
<td width="3">&nbsp;</td>
<td width="136">&nbsp;</td>
<td width="79">&nbsp;</td>
</tr>
<tr>
<td><span class="style6">Usuario</span></td>
<td>&nbsp;</td>
<td><input type="text" name="usuario"></td>
<td><div align="center"><img src="../imagenes/admin/ayuda.gif" alt="Nombre con el que quieres que se te reconozca en la web. Tambi&eacute;n para validarte." width="20" height="19"></div></td>
</tr>
<tr>
<td><span class="style6">Contrase&ntilde;a</span></td>
<td>&nbsp;</td>
<td><input type="text" name="password"></td>
<td><div align="center"><img src="../imagenes/admin/ayuda.gif" alt="Contrase&ntilde;a para validarte en la web." width="20" height="19"></div></td>
</tr>
<tr>
<td><span class="style6">Nombre</span></td>
<td>&nbsp;</td>
<td><input type="text" name="nombre"></td>
<td><div align="center"><img src="../imagenes/admin/ayuda.gif" alt="Tu nombre." width="20" height="19"></div></td>
</tr>
<tr>
<td><span class="style6">E-mail</span></td>
<td>&nbsp;</td>
<td><input type="text" name="email"></td>
<td><div align="center"><img src="../imagenes/admin/ayuda.gif" alt="Tu direcci&oacute;n de correo electr&oacute;nico." width="20" height="19"></div></td>
</tr>
<tr>
<td><span class="style6">Avatar</span></td>
<td>&nbsp;</td>
<td><input type="text" name="avatar"></td>
<td><div align="center"><img src="../imagenes/admin/ayuda.gif" alt="Direcci&oacute;n donde se encuentra alojado la im&aacute;gen para tu avatar." width="20" height="19"></div></td>
</tr>
<tr>
<td><span class="style6">Web</span></td>
<td>&nbsp;</td>
<td><input type="text" name="web"></td>
<td><div align="center"><img src="../imagenes/admin/ayuda.gif" alt="Tu p&aacute;gina web." width="20" height="19"></div></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td><div align="center">
<input type="submit" value="A&ntilde;adir">
</div></td>
<td>&nbsp;</td>
</tr>
</table>
</FORM>

Y add_usuario_resultado.php:

<?php

if(!$anadir=mysql_query("INSERT INTO usuarios (usuario,password,nombre,email,avatar,web) values ('$usuario','$password','$nombre','$email','$avata r','$web')"))
{
echo "Ha habido un error al insertar al usuario".mysql_error();

};


?>

El include conexion.php lo unico que hace es la conexion a la bd y lo tengo probado y funciona pero ahi va el codio por si el error viene por aki:

<?php

/* CONECTO CON LA BASE DE DATOS */

$db_host="****";
$db_nombre="****";
$db_usuario="****";
$db_pass="***";

if(!$link=mysql_connect("$db_host","$db_usuario"," $db_pass"))
echo "Error al conectar con la base de datos: ".mysql_error();


if(!mysql_select_db($db_nombre,$link))
echo "Error al seleccionar la base de datos: ".mysql_error();
?>

A ver si alguien me dice el por que!!! un slaudo!
  #2 (permalink)  
Antiguo 24/07/2006, 12:03
 
Fecha de Ingreso: septiembre-2003
Ubicación: lima
Mensajes: 378
Antigüedad: 20 años, 7 meses
Puntos: 0
Quitale las comillas a las variables:

if(!$link=mysql_connect($db_host,$db_usuario, $db_pass))
echo "Error al conectar con la base de datos: ".mysql_error();


prueba de esta manera

Suerte Juanpro
  #3 (permalink)  
Antiguo 24/07/2006, 12:10
Avatar de kennyhp  
Fecha de Ingreso: julio-2006
Mensajes: 370
Antigüedad: 17 años, 9 meses
Puntos: 5
La conexión a la base de datos funciona, he puesto el código por si servia de ayuda para detectar el error, lo que no va es a la hora de insertar los datos, osea add_usuario_resultado.php que me da el error:

Access denied for user: 'nobody@localhost' (Using password: NO)
  #4 (permalink)  
Antiguo 24/07/2006, 12:20
 
Fecha de Ingreso: septiembre-2003
Ubicación: lima
Mensajes: 378
Antigüedad: 20 años, 7 meses
Puntos: 0
Pero ten en cuenta q el error q te sale es Acceso denegado para dicho usuario has verificado bien tus datos si manejas password o quizas el usuario no tiene los privilegios necesarios.

Otra cosa q encontre fue esto

if(!$anadir=mysql_query("INSERT INTO usuarios (usuario,password,nombre,email,avatar,web) values ('$usuario','$password','$nombre','$email','$avata r','$web')"))


Tu variable "$avata r" no sera asi "$avatar"

prueba con esto
  #5 (permalink)  
Antiguo 24/07/2006, 13:16
Avatar de kennyhp  
Fecha de Ingreso: julio-2006
Mensajes: 370
Antigüedad: 17 años, 9 meses
Puntos: 5
Hola, pues he quitado las comillas a ver si era eso, pero sigue igual. Lo de $avata r es un error al pasarlo aqui, en realidad es $avatar tal y como imaginavas, lo de si tengo privilegios ¿como y donde lo puedo mirar?
  #6 (permalink)  
Antiguo 24/07/2006, 13:33
Avatar de kennyhp  
Fecha de Ingreso: julio-2006
Mensajes: 370
Antigüedad: 17 años, 9 meses
Puntos: 5
Hola, he leido en la documentacion de mi servidor que lo que puede estar pasando es que no tengo los permisos necesarios, pone un ejemplo de chmod (se poco de linux, pero de permisos si que se) la cuestion es que no se como cambiar los permisos para mi usuario...
  #7 (permalink)  
Antiguo 24/07/2006, 14:33
Avatar de nosoynadie  
Fecha de Ingreso: noviembre-2005
Ubicación: dando vueltas por aquí
Mensajes: 206
Antigüedad: 18 años, 4 meses
Puntos: 1
Hola,

chmod() establece los permisos a nivel de ficheros (dentro de la estructura de directorios) y lo que parece estar pasandote es que no tienes los permisos adecuados dentro de tu servidor de base de datos. Estos permisos deben ser establecidos desde MySQL. Si tienes acceso puedes hacerlo con la consola, o más cómodamente desde la sección 'privilegios' del phpMyAdmin.

¿cuanto acceso tienes al servidor? ¿es dedicado? ¿es compartido? ¿le administras tú mismo? cuéntanos ciao
__________________
http://www.nosoynadie.net/
  #8 (permalink)  
Antiguo 24/07/2006, 14:37
Avatar de kennyhp  
Fecha de Ingreso: julio-2006
Mensajes: 370
Antigüedad: 17 años, 9 meses
Puntos: 5
Ya esta todo solucionado!!!! ARRRRRGGGGGGGGGG me voy a dar cabezazos contra la pared.... la cosa es que el include ("conexion.php"); pues el fichero no estaba en el mismo directorio...
Por cierto como hago para que si no esta en el mismo directorio pille el include igualmente???
  #9 (permalink)  
Antiguo 24/07/2006, 14:37
 
Fecha de Ingreso: septiembre-2003
Ubicación: lima
Mensajes: 378
Antigüedad: 20 años, 7 meses
Puntos: 0
Si tienes acceso a la base de datos deberias de darle los privilegios necesarios
eso lo haces desde la Opcion de "Privilegios" desde tu Phpmyadmin que es un administrador de datos para mysql si no es asi deberias de comunicarle a tu Administrador sobre el problema q tienes para q el pueda darte el acceso
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 20:01.