Foros del Web » Programando para Internet » PHP »

error de sintaxis

Estas en el tema de error de sintaxis en el foro de PHP en Foros del Web. hola buenas: Alguien de por aqui me puede explicar porque me sale este error de sintaxis en esta consulta. $sql = "INSERT INTO registr($nombre,$apellidos,$email,$contraseña,$cod igo_postal)". ...
  #1 (permalink)  
Antiguo 07/03/2011, 08:45
 
Fecha de Ingreso: noviembre-2010
Ubicación: aun no se donde vivir
Mensajes: 112
Antigüedad: 14 años
Puntos: 3
Pregunta error de sintaxis

hola buenas:

Alguien de por aqui me puede explicar porque me sale este error de sintaxis en esta consulta.

$sql = "INSERT INTO registr($nombre,$apellidos,$email,$contraseña,$cod igo_postal)".
"VALUES($nombre=$_POST['nombre'],$apellidos=$_POS ['apellidos'],$email=$_POST['email'],$contraseña=$_POST['contraseña'],$codigo_postal=$_POST['codigo postal'])";

Error:

( ! ) Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\wamp\www\Infotravellers\imagenes\TMP4wrs4hozla. php on line 38
  #2 (permalink)  
Antiguo 07/03/2011, 08:48
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 15 años, 1 mes
Puntos: 334
Respuesta: error de sintaxis

"VALUES($nombre=$_POST['nombre']

un string dentro de otro string ?..

"VALUES(" . $_POST['nombre'] . "
  #3 (permalink)  
Antiguo 07/03/2011, 08:48
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 19 años, 6 meses
Puntos: 394
Respuesta: error de sintaxis

por que los campos de la tabla no deben ser variables

(nombre, apellidos, email, contraseña, cod igo_postal) VALUES ($nombre=$_POST['nombre'],$apellidos=$_POS ['apellidos'],$email=$_POST['email'],$contraseña=$_POST['contraseña'],$codigo_postal=$_POST['codigo postal'])

Adicional a eso lo que dice idek1 también es cierto...
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???

Última edición por jotaincubus; 07/03/2011 a las 08:52 Razón: mas informacion
  #4 (permalink)  
Antiguo 07/03/2011, 08:55
 
Fecha de Ingreso: noviembre-2010
Ubicación: aun no se donde vivir
Mensajes: 112
Antigüedad: 14 años
Puntos: 3
Respuesta: error de sintaxis

es lo que es lo campos de la tabla tambien lo saco de la variable y a la hora de probarlo me sale el mismo error en el ordenador:

Consulta:

$sql = "INSERT INTO registro (nombre,apellidos,email,contraseña,codigo_postal)" .
"VALUES($nombre=$_POST['nombre'],$apellidos=$_POST['apellidos'],$email=$_POST['email'],$contraseña=$_POST['contraseña'],$codigo_postal=$_POST['codigo postal'])";

error:
( ! ) Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\wamp\www\Infotravellers\imagenes\TMP5arxjhp03f. php on line 38
  #5 (permalink)  
Antiguo 07/03/2011, 09:07
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 15 años, 1 mes
Puntos: 334
Respuesta: error de sintaxis

Cita:
es lo que es lo campos de la tabla tambien lo saco de la variable y a la hora de probarlo me sale el mismo error en el ordenador:

Consulta:

$sql = "INSERT INTO registro (nombre,apellidos,email,contraseña,codigo_postal)" .
"VALUES($nombre=$_POST['nombre'],$apellidos=$_POST['apellidos'],$email=$_POST['email'],$contraseña=$_POST['contraseña'],$codigo_postal=$_POST['codigo postal'])";

error:
( ! ) Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\wamp\www\Infotravellers\imagenes\TMP5arxjhp03f. php on line 38
pero si lo haz dejado exactamente igual... favor leer nuevamente las respuestas :S !!!
  #6 (permalink)  
Antiguo 07/03/2011, 09:16
 
Fecha de Ingreso: noviembre-2010
Ubicación: aun no se donde vivir
Mensajes: 112
Antigüedad: 14 años
Puntos: 3
Respuesta: error de sintaxis

a ver ok lo entiendo. pero lo acabo de hacer como me explicas y me sale ahora este mensaje

Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in C:\wamp\www\Infotravellers\imagenes\TMP5xgqvhp0wu. php on line 38
  #7 (permalink)  
Antiguo 07/03/2011, 09:23
 
Fecha de Ingreso: noviembre-2010
Ubicación: aun no se donde vivir
Mensajes: 112
Antigüedad: 14 años
Puntos: 3
Respuesta: error de sintaxis

es que yo en esto de php soy nuevo y me pierdo mucho
  #8 (permalink)  
Antiguo 07/03/2011, 09:27
 
Fecha de Ingreso: enero-2011
Ubicación: Argentina
Mensajes: 80
Antigüedad: 13 años, 9 meses
Puntos: 12
Respuesta: error de sintaxis

Tranquilo, tranquilo a todos nos pasa o nos pasó alguna vez! Paciencia y presta mucha ATENCIÓN en lo que dice el amigo Hidek1

Cita:
Iniciado por Hidek1 Ver Mensaje
"VALUES($nombre=$_POST['nombre']

un string dentro de otro string ?..

"VALUES(" . $_POST['nombre'] . "
  #9 (permalink)  
Antiguo 07/03/2011, 09:37
 
Fecha de Ingreso: noviembre-2010
Ubicación: aun no se donde vivir
Mensajes: 112
Antigüedad: 14 años
Puntos: 3
Respuesta: error de sintaxis

vale es decir que lo deberia de hacer de esta forma "VALUES(".$_POST['nombre'] . $_POST['apellidos']. $_POST['email']. $_POST['contraseña']. $_POST['codigo posta'].")";
  #10 (permalink)  
Antiguo 07/03/2011, 09:39
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 15 años, 1 mes
Puntos: 334
Respuesta: error de sintaxis

Cita:
vale es decir que lo deberia de hacer de esta forma "VALUES(".$_POST['nombre'] . $_POST['apellidos']. $_POST['email']. $_POST['contraseña']. $_POST['codigo posta'].")";
nonono.. recuerda que la consulta debes separar los valores por comas

"VALUES(".$_POST['nombre'] . "," . $_POST['apellidos'].
  #11 (permalink)  
Antiguo 07/03/2011, 09:41
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 19 años, 6 meses
Puntos: 394
Respuesta: error de sintaxis

faltan las comas y las comillas simples amigo... También recuerda que si lo que vas a insertar es una cadena de texto debes encerrar entre comillas dichas cadena...
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #12 (permalink)  
Antiguo 07/03/2011, 09:54
 
Fecha de Ingreso: noviembre-2010
Ubicación: aun no se donde vivir
Mensajes: 112
Antigüedad: 14 años
Puntos: 3
Respuesta: error de sintaxis

Bueno chicos!!! lo acabo de hacer como me dicen ustedes y me sale estos errores:

( ! ) Notice: Undefined index: nombre in C:\wamp\www\Infotravellers\imagenes\TMP75dp8hp2hr. php on line 38
Call Stack

( ! ) Notice: Undefined index: apellidos in C:\wamp\www\Infotravellers\imagenes\TMP75dp8hp2hr. php on line 38
Call Stack

( ! ) Notice: Undefined index: email in C:\wamp\www\Infotravellers\imagenes\TMP75dp8hp2hr. php on line 38
Call Stack

( ! ) Notice: Undefined index: contraseña in C:\wamp\www\Infotravellers\imagenes\TMP75dp8hp2hr. php on line 38
Call Stack

Porque se debe esto, tiene que ver con el Index de la pagina que estoy haciendo?
  #13 (permalink)  
Antiguo 07/03/2011, 10:44
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años, 7 meses
Puntos: 461
Respuesta: error de sintaxis

el error te indica que no esta definido el indice que estas diciendo a la variable $_POST, bien sea porque no estan llegando los datos o porque los campos de tu formulario tengan un nombre diferente, para que esto no pase que debes hacer?? has un print_r($_POST); de tal manera que verifiques que los datos te estan llegando correctamente. Aunque viendolo desde otro punto de vista deberias hacer validaciones de campos vacios y tipo de datos ya que estas haciendo un INSERT a tu base de datos, saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #14 (permalink)  
Antiguo 07/03/2011, 10:55
 
Fecha de Ingreso: noviembre-2010
Ubicación: aun no se donde vivir
Mensajes: 112
Antigüedad: 14 años
Puntos: 3
Respuesta: error de sintaxis

Compo campos de validación de campos vacio y tambien acabo de ver que si los nombre de los campos del formulario son igual y bueno estan todos iguales incluso en mi base de datos. Y como puedo hacer un print_r disculpa por las preguntas pero es que soy nuevo en esto de php.
  #15 (permalink)  
Antiguo 07/03/2011, 10:56
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 19 años, 6 meses
Puntos: 394
Respuesta: error de sintaxis

print_r($_POST);
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #16 (permalink)  
Antiguo 07/03/2011, 11:59
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 15 años, 1 mes
Puntos: 334
Respuesta: error de sintaxis

Te recomiendo des una vuelta por el Manual de PHP que tiene este foro y comiences aprendiendo aunque sea lo básico antes de intentar hacer lo que necesitas..

saludos.
  #17 (permalink)  
Antiguo 07/03/2011, 12:16
Avatar de arepavieja  
Fecha de Ingreso: marzo-2011
Mensajes: 207
Antigüedad: 13 años, 8 meses
Puntos: 9
Respuesta: error de sintaxis

No entiendo tu consulta..
Estas usando espacios vacíos, un carácter no válido "ñ", y strings dentro de strings, y finalizando el INSERT antes del VALUES. y las variables dentro de INSERT(), deberían ser las columnas de la base de datos, a menos claro que las hayas declarado al principio con esas variables.

Código MySQL:
Ver original
  1. $sql = "INSERT INTO registr($nombre,$apellidos,$email,$contraseña,$cod igo_postal)".
  2. "VALUES($nombre=$_POST['nombre'],$apellidos=$_POS ['apellidos'],$email=$_POST['email'],$contraseña=$_POST['contraseña'],$codigo_postal=$_POST['codigo postal'])";

A mi criterio debería ser:

Código MySQL:
Ver original
  1. $sql = "INSERT INTO registr('$nombre','$apellidos','$email','$contrasena','$codigo_postal') VALUES('$_POST[nombre]', '$_POST[apellidos]', '$_POST[email]',' $_POST[contrasena]', '$_POST[codigo_postal]')";

Etiquetas: sintaxis
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 16:05.