Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Error de MySQL al intentar insertar datos en base de datos de 000webhost

Estas en el tema de Error de MySQL al intentar insertar datos en base de datos de 000webhost en el foro de PHP en Foros del Web. Hola a todos. Soy bastante Noob en esto, así que no entiendo el porqué de este error, ni mucho mennos cómo solucionarlo, así que agradecería ...
  #1 (permalink)  
Antiguo 03/12/2015, 17:27
 
Fecha de Ingreso: noviembre-2015
Ubicación: Colombia
Mensajes: 37
Antigüedad: 4 años
Puntos: 0
Error de MySQL al intentar insertar datos en base de datos de 000webhost

Hola a todos. Soy bastante Noob en esto, así que no entiendo el porqué de este error, ni mucho mennos cómo solucionarlo, así que agradecería me ayudaran.
Estoy creando un "sistema de login" con PHP y MySQL que, desde un formulario HTML y un script PHP "se supone" que inserta los datos de "usuario", "contraseña" y "e-mail".
Tengo una base de datos en 000webhost.com, con 4 casillas: "ID","userID","pass" y "email". En ID tengo como atributos: "UNSIGNED", y en extra tengo "AUTO_INCREMENT".
Bueno, no sé de SQL así que no sé si está bien la base de datos... pasemos al código.
Primero, tengo 2 scripts PHP: connect.php y register.php.
En connect.php tengo este código, el cual inicia el host, nombre y pass de la base de datos:
Código:
<?php
$HOST = "*****.000webhost.com";
$DB_NAME = "*****_users";
$DB_USER = "******_users";
$DB_PASS = "******";
?>
Pongo los (*) por seguridad, y he comprobado cien mil veces que están bien.

Luego, tengo el register.php:
Código:
<?php
include('connect.php');

$user = $_POST['user'];
$pass = $_POST['pass'];
$pass2 = $_POST['pass2'];
$email = $_POST['email'];

$conection = mysql_connect($HOST,$DB_USER,$DB_PASS);
mysql_select_db($DB_NAME,$conection);

if ($pass == $pass2)
 {
	if ((!empty($user)) && (!empty($pass)) )
	 {
		 $end = mysql_query("INSERT INTO Users (userID,pass,email) VALUES ($user,$pass,$email)",$conection);
		 if ($end == true)
		  echo "Registrado correctamente";
		 else
		  echo("Error al registrar:<br>".mysql_error());
	 }
 }
else
 {  
 	echo '<font color="#FF0000">Las contrase&ntilde;as no coinciden</font><br>
	 <a href="index.html"><button>Regresar</button></a>	';
 }
?>
Y por último tengo el index.html:
<html>
<head>
<title>Inicio</title>
</head>

<body>
<form action="register.php" method="post" name="form">
Usuario:<input type="text" name="user"/><br>
Correo electr&oacute;nico<input type="email" name="email"/><br>
contrase&ntilde;a<input type="password" name="pass"/><br>
Repetir contrase&ntilde;a<input type="password" name="pass2"/><br>
<input type="submit" value="Registrarse"/>
</form>
</body>
</html>

Cuando envio los archivos a mi hosting por FTP, y ejecuto el index.html todo va bien, pero al momento de enviar el formulario (gracias a que puse que en caso de error con la base de datos, se escribiera el error), se escribe en pantalla:
Cita:
Error al registrar:
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 '@gmail.com)' at line 1
Agradecería que me ayudaran :D
  #2 (permalink)  
Antiguo 03/12/2015, 23:10
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 11 años, 8 meses
Puntos: 2534
Respuesta: Error de MySQL al intentar insertar datos en base de datos de 000webhost

Pues estás metiendo valores sin comillas, ¿si sabes cómo escribir consultas de SQL de manera correcta?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 04/12/2015, 12:27
 
Fecha de Ingreso: noviembre-2015
Ubicación: Colombia
Mensajes: 37
Antigüedad: 4 años
Puntos: 0
Respuesta: Error de MySQL al intentar insertar datos en base de datos de 000webhost

Cita:
Iniciado por pateketrueke Ver Mensaje
Pues estás metiendo valores sin comillas, ¿si sabes cómo escribir consultas de SQL de manera correcta?
Disculpa, no tengo casi ningún conocimiento de php. No comprendo en dónde dices que estoy metiendo valores sin comillas. ¿Me puedes explicar dónde estoy errando, y cómo solucionarlo? :D
  #4 (permalink)  
Antiguo 04/12/2015, 14:21
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 11 años, 8 meses
Puntos: 2534
Respuesta: Error de MySQL al intentar insertar datos en base de datos de 000webhost

Cita:
Disculpa, no tengo casi ningún conocimiento de php.
Te estoy diciendo que tu problema es la consulta de SQL, si no sabes cómo formularla ¿por qué no revisas una referencia oficial de SQL para que entiendas cómo?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 04/12/2015, 15:41
 
Fecha de Ingreso: noviembre-2015
Ubicación: NULL
Mensajes: 23
Antigüedad: 4 años
Puntos: 1
Respuesta: Error de MySQL al intentar insertar datos en base de datos de 000webhost

Hola, perdon por meterme pero el te quiere decir que cuando insertas los valores debes poner con '' en tu caso en esta linea
Código PHP:
Ver original
  1. $end = mysql_query("INSERT INTO Users (userID,pass,email) VALUES ($user,$pass,$email)",$conection);
  2.  
  3. //Tendria que ser así
  4.  
  5.  
  6.  $end = mysql_query("INSERT INTO Users (userID,pass,email) VALUES ('$user','$pass','$email')");
  #6 (permalink)  
Antiguo 05/12/2015, 16:12
 
Fecha de Ingreso: noviembre-2015
Ubicación: Colombia
Mensajes: 37
Antigüedad: 4 años
Puntos: 0
Respuesta: Error de MySQL al intentar insertar datos en base de datos de 000webhost

Cita:
Iniciado por diegoj9999 Ver Mensaje
Hola, perdon por meterme pero el te quiere decir que cuando insertas los valores debes poner con '' en tu caso en esta linea
Código PHP:
Ver original
  1. $end = mysql_query("INSERT INTO Users (userID,pass,email) VALUES ($user,$pass,$email)",$conection);
  2.  
  3. //Tendria que ser así
  4.  
  5.  
  6.  $end = mysql_query("INSERT INTO Users (userID,pass,email) VALUES ('$user','$pass','$email')");
Ay dios mio! Eres mi héroe, un maldito héroe!!!
Logré solucionar el problema gracias a ti, y solamente a ti. Construiré un altar en tu nombre, dios mio. ¡¡¡GRACIAS!!!

Etiquetas: 000webhost, formulario, html, mysql, select, sql
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 05:14.