¡Advertencia!
Este tema no ha tenido respuestas en más de un mes. Recuerda que si deseas añadir una nueva debes cumplir con las normas de la web.
Hola a todos.
Al intentar probar un sistema me sale un error (Parse error: syntax error, unexpected T_VARIABLE) en esta linea
Por mas que busco donde puede estar el error no lo encuentro
Me podrian ayudar?
Al intentar probar un sistema me sale un error (Parse error: syntax error, unexpected T_VARIABLE) en esta linea
mysql_query("INSERT INTO `productos` (id, nombre, descripcion, categoria, creador, img, precio, vcs_vendido) VALUES ('','".$_POST['nombre']."','".$_POST['desc']."','".$categoria."','".$_SERVER['REMOTE_ADDR'] $user['id'] $user['nombre']"', '".$_POST['img']."', '".$precio."', '0')");
Por mas que busco donde puede estar el error no lo encuentro
Me podrian ayudar?
¡Soy el fantasma de Habtium! Me dedico a reemplazar aquellas cuentas que han sido eliminadas. 👻
Tienes un lío muy grande con las comillas y los puntos. Mira donde pongo la negrita. Si hace falta, cita, y mira donde tengo las b y las u
mysql_query("INSERT INTO `productos` (id, nombre, descripcion, categoria, creador, img, precio, vcs_vendido) VALUES ("','".$_POST['nombre']."','".$_POST['desc']."','".$categoria."','".$_SERVER['REMOTE_ADDR'] . $user['id'] .$user['nombre']"', '".$_POST['img']."', '".$precio."', '0')");
Pero por ahí tines cosas innecesarias, según tengo entendido, vamos. En tener una sintaxis correcta no soy muy experto. Comparalo. Aquí no he puesto nada.
mysql_query("INSERT INTO `productos` (id, nombre, descripcion, categoria, creador, img, precio, vcs_vendido) VALUES ("','$_POST['nombre']','$_POST['desc']','$categoria','$_SERVER['REMOTE_ADDR'] . $user['id'] . $user['nombre']"', '$_POST['img']', '$precio', '0')");
Los puntos sirven para concatenar cadenas, y cuando no concatenas nada, no son necesarios.
mysql_query("INSERT INTO `productos` (id, nombre, descripcion, categoria, creador, img, precio, vcs_vendido) VALUES ("','".$_POST['nombre']."','".$_POST['desc']."','".$categoria."','".$_SERVER['REMOTE_ADDR'] . $user['id'] .$user['nombre']"', '".$_POST['img']."', '".$precio."', '0')");
Pero por ahí tines cosas innecesarias, según tengo entendido, vamos. En tener una sintaxis correcta no soy muy experto. Comparalo. Aquí no he puesto nada.
mysql_query("INSERT INTO `productos` (id, nombre, descripcion, categoria, creador, img, precio, vcs_vendido) VALUES ("','$_POST['nombre']','$_POST['desc']','$categoria','$_SERVER['REMOTE_ADDR'] . $user['id'] . $user['nombre']"', '$_POST['img']', '$precio', '0')");
Los puntos sirven para concatenar cadenas, y cuando no concatenas nada, no son necesarios.
Contesto tarde pero bueno, tu error es que no concatenaste las variables y te faltaron varias comas:
Ojo que elimine los " ` " ya que no son necesarios. Otra cosa, si utilizas comillas dobles (") no es necesario hacer concatenación puesto que estas interpretan a una variable como tal:
Ojo con lo de arriba (ocuparas cambiar los $_POST por una variable).
Si utilizaras concatenación entonces cambialas a comillas simples puesto que esto hace más rápido el script (ms), ahora, de una vez que lo arreglarás agregale mysql_real_escape_string() a las variables string para dificultar la inyección sql y si tu campo de tabla es int no ocupas meter el valor en comillas ('0' = 0).
Otra cosa, te recomiendo que no pongas directamente los valores del formulario, asigna variables con el respectivo valor.
Saludos.
<?php
mysql_query("INSERT INTO productos (id, nombre, descripcion, categoria, creador, img, precio, vcs_vendido) VALUES ('','".$_POST['nombre']."','".$_POST['desc']."','".$categoria."','".$_SERVER['REMOTE_ADDR'].$user['id'].$user['nombre']."','".$_POST['img']."','".$precio."','0')");
?>
Ojo que elimine los " ` " ya que no son necesarios. Otra cosa, si utilizas comillas dobles (") no es necesario hacer concatenación puesto que estas interpretan a una variable como tal:
<?php
mysql_query("INSERT INTO productos (id, nombre, descripcion, categoria, creador, img, precio, vcs_vendido) VALUES ('','$_POST['nombre']','$_POST['desc']','$categoria','$_SERVER['REMOTE_ADDR'].$user['id'].$user['nombre']','$_POST['img']','$precio','0')");
?>
Ojo con lo de arriba (ocuparas cambiar los $_POST por una variable).
Si utilizaras concatenación entonces cambialas a comillas simples puesto que esto hace más rápido el script (ms), ahora, de una vez que lo arreglarás agregale mysql_real_escape_string() a las variables string para dificultar la inyección sql y si tu campo de tabla es int no ocupas meter el valor en comillas ('0' = 0).
Otra cosa, te recomiendo que no pongas directamente los valores del formulario, asigna variables con el respectivo valor.
<?php
$nombre = $_POST['nombre'];
$descrip = $_POST['desc'];
//etc
mysql_query('INSERT INTO productos (nombre,descripcion) values ("'.mysql_real_escape_string($nombre).'","'.mysql_real_escape_string($descrip).'")') or die(mysql_error());
?>
Saludos.
¡Soy el fantasma de Habtium! Me dedico a reemplazar aquellas cuentas que han sido eliminadas. 👻