Foros del Web » Programando para Internet » PHP »

Ayuda!!!Parse error: syntax error, unexpected '.', expecting ']' in

Estas en el tema de Ayuda!!!Parse error: syntax error, unexpected '.', expecting ']' in en el foro de PHP en Foros del Web. Tengo el siguiente codigo de alta.php que me resuelve el siguiente error. Parse error: syntax error, unexpected '.', expecting ']' in <?php $con = mysql_connect("localhost","root","root"); ...
  #1 (permalink)  
Antiguo 25/04/2012, 18:02
 
Fecha de Ingreso: abril-2012
Mensajes: 15
Antigüedad: 12 años
Puntos: 0
Información Ayuda!!!Parse error: syntax error, unexpected '.', expecting ']' in

Tengo el siguiente codigo de alta.php que me resuelve el siguiente error.

Parse error: syntax error, unexpected '.', expecting ']' in

<?php
$con = mysql_connect("localhost","root","root");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}

mysql_select_db("hunterdb", $con);

$sql="INSERT INTO jugador (idjugador,Nombre, Apellido, Edad, Altura, Peso, Nacionalidad, Habilidad, Posicion, Clubjug, idtorneojug, idjugadorpais, Observaciones)";
$sql="VALUES('','$_POST[nombre1]','$_POST[Apellido]','$_POST[Edad]','$_POST[Altura]','$_POST[Peso]','$_POST[Nacional]','$_POST[habilidad]','$_POST[posicion]','$_POST[club]','$_POST[dcodPais]','$_POST[cod.Pais]','$_POST[obs]')";

if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
echo "1 record added";

mysql_close($con);
?>
  #2 (permalink)  
Antiguo 25/04/2012, 18:33
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Ayuda!!!Parse error: syntax error, unexpected '.', expecting ']' in

Resulta que no puedes colocar así las variables de $_POST (u otro array u objeto) en una cadena, porque, para empezar, cuando los índices son asociativos debes encerrarlos entre comillas dobles o simples.

Ejemplo:

$sql = "VALUES('', '{$_POST['algo']}')";

Aparte de esto, ya notaste que el segundo $sql = ... sobreescribe al primero?
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 25/04/2012, 18:36
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: Ayuda!!!Parse error: syntax error, unexpected '.', expecting ']' in

Mirando tu codigo veo que tu problema es que no tienes claro como concatenar en php.

Ej veo que le asignas un valor a la variable $sql pero luego intentas concatenar con el segundo contenido lo cual no lo haces ya que le asigna un valor nuevo.

Seria algo como

Código PHP:
Ver original
  1. $sql = " INSERT INTO TABLE(CAMPO1,CAMPO2,CAMPO3)";
  2. $sql .="VALUES(' ".$_POST['campo1']." ',' ".$_POST['campo2']." ',' ".$_POST['campo3']." ')";

Fijate bien como hago que contenido de los POST formen parte del string de la variable sql.

Alguns articulos.

Como usar las comillas
Concatenar

Saludos.
  #4 (permalink)  
Antiguo 25/04/2012, 18:37
 
Fecha de Ingreso: abril-2012
Mensajes: 15
Antigüedad: 12 años
Puntos: 0
Respuesta: Ayuda!!!Parse error: syntax error, unexpected '.', expecting ']' in

Triby

Estoy probando de a un campo por vez y estoy teniendo resultado de la siguiente forma.

$sql="INSERT INTO jugador (idjugador,Nombre,Apellido, Edad, Altura, Peso, Nacionalidad, Habilidad, Posicion, Clubjug, idtorneojug, idjugadorpais)
VALUES('','$_POST[nombre1]','$_POST[Apellido]','$_POST[Edad]','$_POST[Altura]','$_POST[Peso]','$_POST[Nacional]','$_POST[habilidad]','$_POST[posicion]','$_POST[club]','$_POST[dcodPais]','$_POST[cod.Pais]')";
  #5 (permalink)  
Antiguo 25/04/2012, 18:39
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: Ayuda!!!Parse error: syntax error, unexpected '.', expecting ']' in

Tal cual como te dijo Triby, no puede usar comillas simples con array asociativos no como lo estas haciendo tienes que encerrarlo en llaves VALUES('','{$_POST[nombre1]}'


Saludos.
  #6 (permalink)  
Antiguo 25/04/2012, 18:43
 
Fecha de Ingreso: abril-2012
Mensajes: 15
Antigüedad: 12 años
Puntos: 0
Respuesta: Ayuda!!!Parse error: syntax error, unexpected '.', expecting ']' in

okey voy a probar como dicen ya les cuento como me va
  #7 (permalink)  
Antiguo 25/04/2012, 20:31
 
Fecha de Ingreso: enero-2012
Ubicación: Mexico Df
Mensajes: 95
Antigüedad: 12 años, 3 meses
Puntos: 6
Respuesta: Ayuda!!!Parse error: syntax error, unexpected '.', expecting ']' in

Yo te recomiendo este codigo y que lo pongas en las primeras lineas


Código PHP:
Ver original
  1. foreach ($_POST as $nombre => $valor) {
  2.     $var = "\$" . $nombre . "='" . $valor . "';";
  3.     eval($var);
  4. }

y ya manejes tus variables por POST como variables declaradas


Código MySQL:
Ver original
  1. $sql="INSERT INTO jugador (idjugador,Nombre,Apellido, Edad, Altura, Peso, Nacionalidad, Habilidad, Posicion, Clubjug, idtorneojug, idjugadorpais)
  2. VALUES('''$nombre1','$Apellido','$Edad','$Altura','$Peso','$Nacional','$habilidad','$posicion','$club','$dcodPais','$cod.Pais')";


Saludos

Etiquetas: mysql, sql, syntax, unexpected
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 11:54.