Bien, si esto lo has copiado y pegado (es decir, es una copia exacta), el problema puede estar aquí:
Código PHP:
Ver original$consulta.="key_des2='$key_des2' "; <---
$consulta.="costo='$costo' ";
Si te fijas con cuidado, le falta la coma que separa el valor que provee la variable $key_des2 del nombre del campo "costo", por lo que luego en la sentencia esto quedaría:
lo cual es obviamente un error de sintaxis.
Ademas, en la construcción de la sentencia estás mezclando sintaxis de dos sentencias distintas: Estás poniendo INSERT y usando la sintaxis de UPDATE, lo que es un error total.
Lo que debería ir sería:
Código MySQL:
Ver original nombre, nombre2, titulo, titulo2,
url, url2, orden, texto, texto2,
key_titulo, keywords, key_des,
key_titulo2, keywords2, key_des2,
costo)
VALUES('$categoria','$nombre', '$nombre2', '$titulo', '$titulo2', '$url', '$url2', '$orden', '$texto', '$texto2',
'$key_titulo', '$keywords', '$key_des', '$key_titulo2',
'$keywords2', '$key_des2', '$costo')
Como se puede ver, había más de un problema, pero no se veían hasta analizar la sentencia completa.
Respecto al campo de la tabla, a mi entender te puede resultar corto, porque el máximo número que puede almacenar es 999,9. No te olvides que el punto decimal ocupa un byte de la longitud declarada (5 espacios, 3 para enteros, 1 para el unto y 1 para el decimal).
¿Eso te alcanzará?