Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Error al insertar registro

Estas en el tema de Error al insertar registro en el foro de Mysql en Foros del Web. Hola! Estoy intentando añadir un registro nuevo a una tabla, y al ejecutar la sentencia, me aparece el siguiente error: ' You have an error ...
  #1 (permalink)  
Antiguo 10/11/2008, 06:54
 
Fecha de Ingreso: julio-2008
Mensajes: 62
Antigüedad: 15 años, 8 meses
Puntos: 0
Error al insertar registro

Hola!

Estoy intentando añadir un registro nuevo a una tabla, y al ejecutar la sentencia, me aparece el siguiente error:

' 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 ')' at line 1 '.

El código escrito es el siguiente:

' $campos = "nombre, apellido, nick, email, url";
$valores = "'".$_POST['nombre']."',";
$valores = "'".$_POST['apellido']."',";
$valores = "'".$_POST['nick']."',";
$valores = "'".$_POST['email']."',";
$valores = "'".$_POST['url']."',";
$sql = "INSERT INTO directorio ($campos) VALUES($valores)"; '

¿Dónde está el fallo? No consigo verlo
  #2 (permalink)  
Antiguo 10/11/2008, 07:11
 
Fecha de Ingreso: noviembre-2008
Mensajes: 11
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Error al insertar registro

Imprime el valor final de la variable valores porque seguramente te este machacando el valor cada vez que haces la asignación, en vez de concatenar.
Ademas, en la última asignación te sobra la coma.
  #3 (permalink)  
Antiguo 10/11/2008, 07:16
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Error al insertar registro

Te debe estar quedando una coma después del último campo (url) en la lista de valores.
De todos modos, te recomiendo encarecidamente no poner código de programación (es contrario a las reglas del foro), en este foro sólo vale SQL y Base de Datos. Con código de programación, los que somos DBA no podemos establecer a simple vista si el error es de estructura, sintaxis, lógica o simplemente de aplicación. Por eso la exigencia.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 10/11/2008, 07:20
 
Fecha de Ingreso: marzo-2008
Ubicación: Asuncion
Mensajes: 16
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Error al insertar registro

Hola marvellous,

Primeramente deberias concatenar tu variable $valores y luego quitarle la coma a la ultima, prueba a poner tu codigo así:

$campos = "nombre, apellido, nick, email, url";
$valores .= "'".$_POST['nombre']."',";
$valores .= "'".$_POST['apellido']."',";
$valores .= "'".$_POST['nick']."',";
$valores .= "'".$_POST['email']."',";
$valores .= "'".$_POST['url']."'";
$sql = "INSERT INTO directorio ($campos) VALUES($valores)";


Saludos

Última edición por felix126; 10/11/2008 a las 08:00
  #5 (permalink)  
Antiguo 10/11/2008, 07:22
 
Fecha de Ingreso: julio-2008
Mensajes: 62
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Error al insertar registro

Gracias!

No me había dado cuenta de que no había puesto el '.' antes del '='.
  #6 (permalink)  
Antiguo 10/11/2008, 07:51
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Error al insertar registro

Me alegra que encontraras la solución.
De todos modos, te recomiendo encarecidamente no poner código de programación (es contrario a las reglas del foro), en este foro sólo vale SQL y Base de Datos. Con código de programación, los que somos DBA no podemos establecer a simple vista si el error es de estructura, sintaxis, lógica o simplemente de aplicación. Por eso la exigencia.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
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 18:22.