Ver Mensaje Individual
  #4 (permalink)  
Antiguo 13/05/2014, 20:03
Avatar de gnzsoloyo
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: Registro Datos Mysql

A mi entender, el problema que tienes es un ejemplo de un error sintáctico indetectables simple vista, a menos que tengas claro el concepto de "palabras reservadas".
Estás usando en la tabla, como nombre de columna, denominaciones que son parte del lenguaje SQL, y por consecuencia generan errores de difícil detección. No debes olvidar nunca que estás metiendo un lenguaje (SQL) dentro de otro (PHP), y cada uno tiene sus propias reglas sintácticas y restricciones.

Los que están en mayúsculas en esta query no deben ser usados como denominaciones de campos o tablas:
Código MySQL:
Ver original
  1. INSERT INTO lands
  2.     (idland, photo, slurl, NAME, area, prims, rating, TYPE, USE, price, top, paytop, active)
  3.     ('$idland', '$photo', '$slurl', '$name', '$area', '$prims', '$rating', '$type', '$use', '$price', '0', '0', '1');
En este caso puntual dos de ellas (TYPE y NAME) son toleradas como nombres de columnas por razones de compatibilidad hacia versiones viejas de MySQL, pero "USE" es una palabra total y absolutamente prohibida. Está reservada para cambiar cuál es la base de datos donde se están realizando las consultas, y como comando de control es muy peligroso.

Lo mejor que puedes hacer es cambiar el nombre de esos campos, y te recomiendo no usar palabras en inglés ya que es donde más fácil se da el problema. Si no puedes cambiarlos, entonces deberás poner esos nombres entre acentos agudos (`) cada vez que los uses, de esta forma:
Código MySQL:
Ver original
  1. INSERT INTO lands
  2.     (`idland`, `photo`, `slurl`, `NAME`, `area`, `prims`, `rating`, `TYPE`, `USE`, `price`, `TOP`, `paytop`, `active`)
  3.     ('$idland', '$photo', '$slurl', '$name', '$area', '$prims', '$rating', '$type', '$use', '$price', '0', '0', '1');
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)