Eso es lo que suele ocurrir en muchos casos, nunca esta de más poder comprobar lo que se envía
![de acuerdo](http://static.forosdelweb.com/fdwtheme/images/smilies/dedosarriba.png)
.
PD: Un apunte trata de darle un minimo de seguridad, para evitar posibles casos como esto.
$nombreusuario=$_POST["nombreusuario"];
Si nombreusuario=" Juan' ", si notas hemos puesto un carácter que romperá nuestro sentencia sql para poder evitar ello usa lo siguiente:
$nombreusuario=mysql_real_escape_string($_POST["nombreusuario"]);