Foros del Web » Programando para Internet » PHP »

Error insertando registros

Estas en el tema de Error insertando registros en el foro de PHP en Foros del Web. Estaba haciendo un sistema de registro de usuarios y no se porque el script php que procesa los datos del formulario, falla, y parece ir ...
  #1 (permalink)  
Antiguo 20/06/2011, 08:31
 
Fecha de Ingreso: junio-2011
Mensajes: 6
Antigüedad: 12 años, 10 meses
Puntos: 0
Pregunta Error insertando registros

Estaba haciendo un sistema de registro de usuarios y no se porque el script php que procesa los datos del formulario, falla, y parece ir todo bien pero no inserta los datos en la tabla.

Aquí el código:

Código:
<?php
// Coger las variables del formulario

$Usuario = $_POST['Usuario'];
$Contrasena = $_POST['Contrasena'];
$ReContrasena = $_POST['ReContrasena'];
$email = $_POST['email'];
$Reemail = $_POST['Reemail'];
$Digimon = $_POST['Digimon'];
$Digivice = $_POST['Digivice'];

// Iniciar comprovaciones

If ($Usuario == "") {
	echo "Completa el campo usuario"; }
	else {
	If ($Contrasena == "") {
		echo "Completa el campo Contraseña"; }
	else If ($Contrasena != $ReContrasena) {
		echo "Las contraseñas no coinciden"; }
		else If ($email == "") {
			echo "Completa el campo email"; }
			else If ($email != $Reemail) {
				echo "Los emails no coinciden"; }
				else {
					include("conect-bdd.php"); //Conectarse a la base de datos
					session_start(); // Inicio de sessión
					$link=Conectarse(); // !ABAJO! Insertar en la base de datos
					$sql = mysql_query("INSERT INTO usuarios (Usuario,Password,Email,Digimon,Digivice) VALUES ('$Usuario','$Contrasena','$email','$Digimon','$Digivice')",$link);
					$result = mysql_query($sql,$link);
					mysql_close(); //Cerrar conexion
					echo "Registrado satisfactoriamente";
					}
	}
?>
Y la conexión a la base de datos:

Código:
<? // Fichero con los datos de conexion a la BBDD

function Conectarse()

{

$db_host="localhost"; // Host al que conectar, habitualmente es el 'localhost'

$db_nombre="digimon"; // Nombre de la Base de Datos que se desea utilizar

$db_user="root"; // Nombre del usuario con permisos para acceder

$db_pass="opa"; // Contraseña de dicho usuario

// Ahora estamos realizando una conexión y la llamamos '$link'

$link=mysql_connect($db_host, $db_user, $db_pass) or die ("Error conectando a la base de datos.");

// Seleccionamos la base de datos que nos interesa

mysql_select_db($db_nombre ,$link) or die("Error seleccionando la base de datos.");

// Devolvemos $link porque nos hará falta más adelante, cuando queramos hacer consultas.

return $link;

}

?>
Veis algún error? Esta en la parte del INSERT INTO, no?
  #2 (permalink)  
Antiguo 20/06/2011, 08:36
Avatar de bUllan9ebrio  
Fecha de Ingreso: enero-2011
Ubicación: Chile
Mensajes: 1.128
Antigüedad: 13 años, 3 meses
Puntos: 128
Respuesta: Error insertando registros

Realiza un echo a tu $sql y verifica lo que esta insertando, ademas maneja los error de insercion or die () saludos.
__________________
Si no vivimos como pensamos, pronto empezaremos a pensar como vivimos.
Más vale un Gracias sincero, que un número que aumente "popularidad" ¬¬°

Universidad de chile, campeón
  #3 (permalink)  
Antiguo 20/06/2011, 09:08
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 2 meses
Puntos: 177
Respuesta: Error insertando registros

será porque escibís el if con mayuscula "If" , creo que va en minuscula, no estoy seguro, "if", por lo menos yo siempre lo pune con minuscula, sino hacé un print_r($_POST) para ver si recibís los valores por post
__________________
la la la
  #4 (permalink)  
Antiguo 20/06/2011, 11:29
 
Fecha de Ingreso: junio-2011
Mensajes: 6
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Error insertando registros

Los If funcionan... simplemente no entiendo porque no inserta los datos en la tabla...
  #5 (permalink)  
Antiguo 20/06/2011, 11:35
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Error insertando registros

Como te dicen, imprime el valor de mysql_error();
  #6 (permalink)  
Antiguo 20/06/2011, 16:00
 
Fecha de Ingreso: junio-2011
Mensajes: 6
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Error insertando registros

Vale... a ver si lo he hecho bien, he añadido la linea:

Código:
echo mysql_error($link);
Antes del:

Código:
mysql_close(); //Cerrar conexión
Y el resultado es:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '1' at line 1Registrado satisfactoriamente

Y la verdad... No entiendo mucho donde se encuentra el error.
  #7 (permalink)  
Antiguo 20/06/2011, 16:06
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Respuesta: Error insertando registros

Que tal Sicosis, prueba así tu código:
Código PHP:
Ver original
  1. include("conect-bdd.php"); //Conectarse a la base de datos
  2. session_start(); // Inicio de sessión
  3. $link=Conectarse(); // !ABAJO! Insertar en la base de datos
  4. $sql = mysql_query("INSERT INTO usuario (Usuario,Password,Email,Digimon,Digivice) VALUES ('$Usuario','$Contrasena','$email','$Digimon','$Digivice')",$link) or die (mysql_error());
  5. echo "Registrado satisfactoriamente";

Esta línea de código sobra:
$result = mysql_query($sql,$link);


Saludos.
__________________
"SELECT * FROM Mujeres WHERE situacion NOT IN ('CASADAS','CON HIJOS','ATORMENTADAS','CUASI-ENNOVIADAS') AND personalidad <> 'INTENSA'"
  #8 (permalink)  
Antiguo 20/06/2011, 16:51
 
Fecha de Ingreso: junio-2011
Mensajes: 6
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Error insertando registros

Pues no se porque pero no... y no da ningún error, y ya he quitado la linea que me has dicho... Me volverá loco este código.

Etiquetas: registros
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 01:19.