PHP Y SQL - No inserta datos

Weahl

Resulta que tengo un formulario en el que debo introducir usuario y contraseña (como básico) y debería decirte si existe, en caso de que no exista, te lo agregaría a la db con la sentencia:

mysql_query("INSERT INTO cliente (usuario, contraseña) VALUES ('".$POST['usuario']."', '".$POST['pass']."')", $conexion);

Lo pongo en PHPMyAdmin y me funciona, lo hago desde la web y me dice que correcto, pero no me inserta nada :S.

He puesto en negrita la parte del código donde falla.

Este es el código:

Codigo

Gracias.

B

prueba

http://pastebin.com/raw.php?i=AL1ednWA

B

Los valores de los campos tienen que ir entre ' '. Añado que no deberias poner nombres de campos con caracteres extendidos del tipo ñ,ç,é etc

Weahl

Con lo tuyo Amikami no me ha funcionado, es una de las cosas que ya probé antes y nada.

He probado ha cambiar los campos que tenian "ñ" como contraseña por pass, ahora me introduce datos en la bd, pero me los introduce con valor 0 :S

EDITO: ¡Al fin! Lo conseguí gracias a vosotros, muchísimas gracias, estaba ya que no podía mas con la tontería esta.

Resulta que he cree una nueva tabla para comprobar los resultados que me salieran a partir de lo que me dijerais en este post, pero le deje los campos como INT y no como VARCHAR como tengo en la tabla buena. El caso es que todo el tema ha sido por la maldita "ñ", a partir de ahora nunca más la volveré a poner!

¡Mil gracias de nuevo!

suaveSHOW

Y como demonios te funciona poniendo ';' despues del final de } en un else if etc xD

Weahl

Siempre que pongo un IF lo cierro, es la costumbre que tengo y siempre me ha funcionado, de hecho, ha habido veces que no los he cerrado y me ha dado error xD

NeB1

#6 después de ...mysql_query(INSERT...

introduce esta linea:

echo mysql_error();

esto te indicará el error por el cual no está insertando nada. Por cierto, para comprobar si te inserta o no te inserta nada se hace lo siguiente:

$query=mysql_query("INSERT INTO TABLA VALUES");
if($query)
    echo 'insertado correctamente';
else
    echo 'no se ha insertado por...:'.mysql_error();

Weahl

Muchas gracias, había leído esa función por ahí pero no sabía como se aplicaba, es de mucha utilidad y me ayudará a solventar muchos errores tontos.

Gracias ;)

PD: ¿Como se hace un quote aquí en mediavida? xD

erdanblo

#7 Mejor usar mysql_query(blabla) or die("Error");

Incluso todavia es mejor, mysql_query(blalba) or exit();

Parece ser que die() es un alias de exit().

Weahl

Pero con ese comando no me indica el error, simplemente te dice que te ha fallado.

erdanblo

Dentro de exit pones mysql_error () ¬¬'

NeB1

#11 xDD

si, es un alias y vá más "lento",pero eso está bien si quiere finalizar la ejecución en caso de que la consulta falle, no siempre es lo que buscas en tu programa

Usuarios habituales