Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Mi base de datos no recoge las variables

Estas en el tema de Mi base de datos no recoge las variables en el foro de Bases de Datos General en Foros del Web. Hola, a ver como lo explico: Tengo un formulario para crear una cuenta de usuario en mi web, pero al introducir los datos y enviar ...
  #1 (permalink)  
Antiguo 17/11/2010, 03:41
 
Fecha de Ingreso: noviembre-2010
Ubicación: Mérida, Badajoz
Mensajes: 11
Antigüedad: 13 años, 6 meses
Puntos: 0
Mi base de datos no recoge las variables

Hola, a ver como lo explico:
Tengo un formulario para crear una cuenta de usuario en mi web,
pero al introducir los datos y enviar el formulario me aparece el siguiente mensage:

Usuario:Tal / Clave:TAl / email:[email protected] ///El nombre de usuario ya existe, o la contraseña es demasiado corta/larga, o la base de datos no permite alguno de los caracteres escritos en los campos del formulario.

Pero miro en la tabla de la base de datos y no sa han guardado los datos; este es mi código en php.

/*Conecto con la base de datos*/
require_once("Conexbd.php");

/* Inicializamos las variables de suario, clave y password */
$username="";
$passwd="";
$email="";

/* Aquí comoprobamos si estamos recibiendo las variables del formulario */
if (isset($_REQUEST['username']) && isset($_REQUEST['passwd']) && isset($_REQUEST['email'])) {

$username=$_REQUEST['username'];
$passwd=$_REQUEST['passwd'];
$email=$_REQUEST['email'];


/*ESTO ME LO IMPRIME CORRECTO*/
echo "Usuario:".$username." / Clave:".$passwd." / email:".$email." ///";

} else {
// No tenemos las variables !!
// Mostramos el formulario de registro
$error="";
}

// Sólo si tenemos los datos válidos (no están vacíos, insertamos en la base de datos)

if ($username!="" && $passwd!="" && $email!="") {
if ($connect!="") {
if (mysql_query('INSERT INTO usuarios (username, passwd, email) VALUES ("$username","$passwd","$email")')) { // Si puede crear el registro

/*POR QUÉ ESTO NO ME LO IMPRIME?*/

echo "Se ha registrado correctamente<br>";
mysql_close($connect);
} else

/*Y SI SE SUPONE QUE RECIBE LAS VARIABLES, POR QUÉ ME IMPRIME ESTO?*/
echo "El nombre de usuario ya existe, o la contraseña es demasiado corta/larga, o la base de datos no permite alguno de los caracteres escritos en los campos del formulario";

} else
echo "No hay conexión con la base de datos";
} else {
$error="Debe completar todos los campos para poder registrarse como usuario";
?>

AQUÍ CÓDIGO HATML DEL FORMULARIO

<?php
}
?>

Vale, este es el código, lo que no entiendo es pq no se insertan los datos en la Base de Datos.
Me podéis ayudar? Tengo algun error de sintaxis?
Esperando respuesta y millones de gracias de antemano
Laura
  #2 (permalink)  
Antiguo 17/11/2010, 03:58
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Mi base de datos no recoge las variables

A nivel de SQL (que es lo único que se trata acá), el problema parece ser que estás usando comillas para encerrar los valores de cadena dentro del VALUE en el INSERT.
El problema es que las comillas no se usan en MySQL para las cadenas de texto sino para los nombres de campos, tablas y bases. Para las cadenas de texto se usan apóstrofes ('). Es posible que te esté generando un error no sintáctico, de campos o columnas desconocidas.
Para resolver esa parte, debes usarlo así:

Código PHP:
Ver original
  1. $result = mysql_query("INSERT INTO usuarios (username, passwd, email)
  2. VALUES ('$username', '$passwd', '$email')");

Si no funciona aún así, el problema estará en el código de PHP, y eso lo tienes que preguntar en el Foro de PHP.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 17/11/2010, 04:16
 
Fecha de Ingreso: noviembre-2010
Ubicación: Mérida, Badajoz
Mensajes: 11
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Mi base de datos no recoge las variables

Hola!
GRACIASSSSSSSSSS!!!!! Me has solucionado el problema, eres un solete; mira que le he dado vueltas a la insercción pero no daba con la solución.
Otra ves millones de gracias
Laura
  #4 (permalink)  
Antiguo 17/11/2010, 05:50
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Mi base de datos no recoge las variables

Me alegra que te sirviera.

Es el tipo de problemas que suele aparecer siempre que incrustas código de un lenguaje (como SQL) en otro...

A veces uno se olvida de que el embebido tiene sus propias reglas sintácticas u ortográficas y, francamente, saltar de un lenguaje a otro es un ejercicio cansador.

__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 17/11/2010, 05:56
 
Fecha de Ingreso: noviembre-2010
Ubicación: Mérida, Badajoz
Mensajes: 11
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Mi base de datos no recoge las variables

Perdona que te moleste otra vez.
Abrí un tema en php, le podrías hechar un vistazo si no te importa? UN chico me contestó, hice lo que me dijo pero me da un error muy tonto pero esto no lo manejo muy bien.

Gracias otra vez :).

Etiquetas: variables
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:10.