Foros del Web » Programando para Internet » PHP »

Ayuda! Error MySQL 1064 en INSERT

Estas en el tema de Ayuda! Error MySQL 1064 en INSERT en el foro de PHP en Foros del Web. Hola amigos del Foro! Estoy haciendo un INSERT común desde un formulario en MySQL y me da un error que no lo logro encontrar: Código: ...
  #1 (permalink)  
Antiguo 25/06/2004, 08:07
 
Fecha de Ingreso: abril-2002
Ubicación: Argentina
Mensajes: 96
Antigüedad: 15 años, 8 meses
Puntos: 0
Ayuda! Error MySQL 1064 en INSERT

Hola amigos del Foro!

Estoy haciendo un INSERT común desde un formulario en MySQL y me da un error que no lo logro encontrar:
Código:
Se ha producido un error nº 1064 que corresponde a: You have an error in your SQL syntax near '55555','','','[email protected]','http://www.pepe.com','','','','')' at line 2
El código es:
Código PHP:
# recoger y adaptar las variables pasadas desde el formulario
$v1=$empresa;
$v2=$nombre;
$v3=$cumple;
$v4=$domicilioc;
$v5=$cpc;
$v6=$domiciliop;
$v7=$cpp;
$v8=$tel1;
$v9=$tel2;
$v10=$fax;
$v11=$celular;
$v12=$contacto1;
$v13=$contacto2;
$v14=$email;
$v15=$website;
$v16=$inicio;
$v17=$fpago;
$v18=$trabajos;
$v19=$datasite;

# establecemos la conexion con el servidor
$conexion=mysql_connect("localhost","user","pwd");
#asiganamos la conexión a una base de datos determinada
mysql_select_db($base,$conexion);

# AÑADIMOS EL NUEVO REGISTRO
mysql_query("INSERT $tabla (empresa,nombre,cumple,domicilioc,cpc,domiciliop,cpp,telefono1,telefono2,fax,celular,contacto1,contacto2,email,website,comienzo,fpago,trabajo,dwebsite)
VALUES ('$v1','$v2','$v3','$v4','$v5','$v6','$v7','$v8','$v9','$v10',$v11','$v12','$v13','$v14','$v15','$v16','$v17','$v18','$v19')"
,$conexion);
#comprobamos el resultado de la insercion
# el error CERO significa NO ERROR
# el error 1062 significa Clave duplicada
  
if (mysql_errno($conexion)==0){echo "<p align='center'>Registro Agregado exitosamente!</p>";
               }else{
          if (
mysql_errno($conexion)==1062){echo "<h2>No ha podido añadirse el registro<br>Registro duplicado!</h2>";
              }else{
              
$numerror=mysql_errno($conexion);
              
$descrerror=mysql_error($conexion);
              echo 
"Se ha producido un error nº $numerror que corresponde a: $descrerror  <br>";
          }
  }

# cerramos la conexion
mysql_close(); 
Alguien ve el error y puiededecirme cuál es?
Gracias mil
Saludos
Yiyo
__________________
Sergio
  #2 (permalink)  
Antiguo 25/06/2004, 08:23
Avatar de Torus  
Fecha de Ingreso: enero-2002
Ubicación: Tú buscame y me encontraras
Mensajes: 413
Antigüedad: 15 años, 11 meses
Puntos: 0
lo unico que veo es que en lla sentencia sql tienes esto conta cto2 que me imagino que sera contacto2 y c pp que sera cpp
Y en la entrada de datos '$v1 6' que tambien me imagino que sera '$v16' a parte de algunos espacios entre comillas y variable
Saludos
__________________
Hay tanto que aprender y tan poco tiempo

Última edición por Torus; 25/06/2004 a las 08:26
  #3 (permalink)  
Antiguo 25/06/2004, 08:28
 
Fecha de Ingreso: abril-2002
Ubicación: Argentina
Mensajes: 96
Antigüedad: 15 años, 8 meses
Puntos: 0
Gracias por tu respuesta Torus, yo también los veo acá opero en mi archivo PHP original no se ven, no se por que motivo cuando copie y pegué salieron esoso espacios
Gracias
Saludos
Yiyo
__________________
Sergio
  #4 (permalink)  
Antiguo 25/06/2004, 08:31
Avatar de Ricardo  
Fecha de Ingreso: febrero-2003
Ubicación: Capital Federal, Argentina
Mensajes: 60
Antigüedad: 14 años, 10 meses
Puntos: 0
Si, yo tambien noto algunos espacios raros como "c pp", la variable $v9 -> ' $v9'.

Fijate corregir esas cosas y volver a intentarlo
__________________
.:: globaldot ::. | diseñoweb
www.globaldot.com.ar
  #5 (permalink)  
Antiguo 25/06/2004, 08:35
 
Fecha de Ingreso: abril-2002
Ubicación: Argentina
Mensajes: 96
Antigüedad: 15 años, 8 meses
Puntos: 0
En síntesis, reescribí todo el query y ahora no me da error... la verdad que no se donde estarían esoso espacios porque en el código original... no se ven.
Gracias a ambos por susu respuestas
Saludos
Yiyo
__________________
Sergio
  #6 (permalink)  
Antiguo 25/06/2004, 08:36
Avatar de Ricardo  
Fecha de Ingreso: febrero-2003
Ubicación: Capital Federal, Argentina
Mensajes: 60
Antigüedad: 14 años, 10 meses
Puntos: 0
Otro dato es que por lo general uso INSERT INTO tabla (campo1,campo2) VALUES ('$var1','$var2')
Por otro lado no uso variables para el nombre de la tabla.

Fijate.
__________________
.:: globaldot ::. | diseñoweb
www.globaldot.com.ar
  #7 (permalink)  
Antiguo 25/06/2004, 08:37
Avatar de Ricardo  
Fecha de Ingreso: febrero-2003
Ubicación: Capital Federal, Argentina
Mensajes: 60
Antigüedad: 14 años, 10 meses
Puntos: 0
Me alegro que se haya solucionado todo.
__________________
.:: globaldot ::. | diseñoweb
www.globaldot.com.ar
  #8 (permalink)  
Antiguo 25/06/2004, 15:09
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

Cuando tienes una consulta grande con variables, lo mejor es meter esa consulta en una cadena y mostrarla con el mensaje de error:
Código PHP:
$consulta="INSERT ....";
mysql_query($consulta, ...);

echo 
"error $consulta ...."
Asi veras la consulta que intentas ejecutar. Y mirando el mensaje de error, te dice que el error esta antes de '5555','nose

Entonces si hubieras hecho el echo de la consulta, buscarias esa cadena, y mirarias lo que esta justo antes de esa cadena. E imagino que seria '$v10',$v11' (cuenta las comillas y las comas y donde estaban.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
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 03:21.