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

Fallo al insertar coordenadas

Estas en el tema de Fallo al insertar coordenadas en el foro de Mysql en Foros del Web. Buenas, Tengo una variable $coordenadas con el valor ej.: "(41.43432332, 3.432423423)" Debo dividirla en latitud y longitud asi que hago: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver ...
  #1 (permalink)  
Antiguo 22/09/2012, 09:33
 
Fecha de Ingreso: mayo-2009
Mensajes: 232
Antigüedad: 15 años, 6 meses
Puntos: 3
Fallo al insertar coordenadas

Buenas,

Tengo una variable $coordenadas con el valor ej.: "(41.43432332, 3.432423423)"

Debo dividirla en latitud y longitud asi que hago:

Código PHP:
Ver original
  1. $latlong=explode(", ", $coordenadas);
  2.  
  3.   $lat=substr($latlong[0],1);
  4.   $long=substr($latlong[1],0,-1);


Ahora, tengo en la tabla los campos lat y long, como FLOAT 10,6 que es como explica google. Pero me da error al insertar en la tabla.

Pense, ostia, igual es que estan en string, y lo paso a float:
Código PHP:
Ver original
  1. $lat2 = (float) $lat;
  2. $long2 = (float) $long;

Pero sigue dandome 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 'long,usuario,radio) VALUES ('aasaddsd','2012-09-22','41.554449085165','1.8929598' at line 1


La consulta es:

Código PHP:
Ver original
  1. $sql = "INSERT INTO zonas (nombrez,fechaz,lat,long,usuario,radio) VALUES ('$nombrez','$fecha','$lat2','$long2','$usuario','$distancia')";

Los otros valores he comprobado que no son los que dan el error.
  #2 (permalink)  
Antiguo 22/09/2012, 10:37
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Fallo al insertar coordenadas

Puede haber un problema con la columna "long", porque LONG es una palabra reservada en MySQL, cosa que tiene a producir errores de sintaxis casi indetectables.
LONG es una palabra reservada por compatibilidad, y se corresponde con el tipo de columna MEDIUMTEXT (LONG VARCHAR), por ello, si la necesitas usar, debe ir entre acentos inversos.
Normalmente lo que se hace es denominar como "LNG" a las columnas que contienen longitudes geográficas. Así lo encontrarás en la documentacion de casos de tablas espaciales y webs dedicadas a geocodificación. Te sugiero adoptar esa forma, para evitarte futuras confusiones.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 22/09/2012, 11:07
 
Fecha de Ingreso: mayo-2009
Mensajes: 232
Antigüedad: 15 años, 6 meses
Puntos: 3
Respuesta: Fallo al insertar coordenadas

Muchas gracias, era ese el error, me pase al menos 2 horas intentando averiguar que pasaba :)

Etiquetas: coordenadas, fallo, sql, tabla, campos
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:46.