Archive for the ‘Errores’ Category
Error con LOAD DATA LOCAL INFILE en MySql

Menudo bugazo de MySQLos hemos encontrado hoy! Este bug porque sí, porque lo es ya que tiene toda la pinta de ser un bicho nos ha traído de cabeza durante dos días. Si ya pensaba yo que esto de que Oracle salga de compras no nos iba a traer nada pero nada bueno, en fin webmaster of the universe os ponemos en antecedentes:
Estamos ultimando la v.3.9 del sistema de tiendas online ecOOmmerce.com en ella hemos incorporado una función que realiza las actualizador de precios y de stock semiautomatizado donde el cliente en base a un fichero bajo formato .csv (parecido al excel, realmente es un txt con campos separados por un signo) puede desde el backoffice de la aplicación actualizar los precios de una tacada.
El servidor web alojado en Hispalab corre Linux con Mysql versión 5.0.90 instalada. Nosotros disponemos acceso al Cpanel para administrar, si bien no podemos acceder a consola por SSH ni a través de Cpanel.
Intentamos hacer un típico LOAD DATA LOCAL INFILE para cargar datos de un fichero .csv en una tabla temporal de la base de datos que posteriormente será analizada por nuestra nueva función y actualizará los precios.
La sentencia es la típica, reportada en cientos y cientos de foros de desarrollo tanto en español como en lengua sajona:
LOAD DATA LOCAL INFILE ”/home/dominios/test/public_html/tmp/tarifatest.csv” INTO TABLE table01 FIELDS TERMINATED BY “;” LINES TERMINATED BY “\n”
Y desde la aplicación no recibimos error alguno, para acotar el tema vamos al Phpmyadmin a través de Cpanel y copypasteamos el comando, automáticamente nos escupe el siguiente error:
#1148 – The used command is not allowed with this MySQL version
Repasamos la sentencia de SQL mil quinientas veces y es entonces cuando el ingeniero de sistemas de Hispalab nos dice que no utilicemos el “LOCAL”. Nos documentamos y si, una vez el archivo está en servidor no hace falta utilizar el argumento “LOCAL” ahora bien, al modificar esta función nos encontramos con otro nuevo error:
#1045 – Access denied for user ’wwwtest’@'localhost’ (using password: YES)
Así que comenzamos primero desde PHP y luego desde FTP (no tenemos acceso a consola) ha realizar todo tipo de CHMODS y CHOWN para cambiar los permisos y propietarios de el archivo y la carpeta subida. No conseguimos nada más que perder el tiempo.
Desolados reportamos a Hispalab y al final y tras casi dos días de darnos cabezazos contra el teclado alguien vio la luz en Hispalab, ese LOCAL, ese LOCAL, lo probó en minúsculas “local” y… como bien dijo el “zasss…. todo funcionó”.
Impresionante, ni en la propia documentación de MySQL figura ni una sóla vez en minúsculas, puedes verlo en:
http://dev.mysql.com/doc/refman/5.1/en/load-data.html
En fin, hay queda este post por si alguna vez oss encontráis con semejante problema.
Comprobador de RSS
Los RSS o feeds son un sistema muy popular para el movimiento de información, noticias o titulares de las mismas entre una página web y un usuario e incluso entre diferentes páginas webs. Este sistema se ha popularizado gracias a ser un componente intrínseco de los blogs y poseer un carácter digamos que social.
El RSS es un sistema que en marketing se agruparía dentro de los PUSH, pues es el RSS el que va a buscar al usuario, obviamente una vez este se ha suscrito, la página web en sí es un método PULL donde al contrario que en los PUSH es el usuario el que tiene que ir a buscar la información con su navegador.
No vamos a entrar en este artículo a hablar de las numerosas bondades del RSS pero sí que vamos a ver un sencillo y práctico validador de RSS online.
Para comprobar si un determinado Feed cumple con las reglas de dicho formato existen muchas opciones, algunas de escritorio pero para nosotros la mejor es Feed Validator, una aplicación online que te validará cualquier dirección de internet que contenga un RSS. Toma buena nota de la dirección: http://beta.feedvalidator.org/
En la captura anterior, hemos realizado la prueba con un cliente nuestro, cablematic.com donde hemos colocado un nuevo generador de RSS para todas y cada una de las familias de productos, al intentarlo validar podemos ver diversos errores detectados en la estructura del FeedRSS, el primero y realmente importante es la utilización de signos [] también denominados brackets en el tag interno del title de la noticia del RSS.
Para evitar este error hay que escapear la salida de todos los textos, míra como lo hemos realizado:
$rssOutput .= ‘<title>’.'<![CDATA['.$lng_ref_min.' '.$productRef.' '.$productName.']]>’.'</title>’.”\n”;
Es decir tras el tag ponemos el <![CDATA[ para segir con las variables que contienen el texto, en nuestro ejemplo 3 variables, la palabra REF. (acrónimo de referencia), la referencia del producto y finalmente el nombre, este último es que contiene brackets. después finalizamos con ]]>
El resto de errores que nos lanza Feed Validator no son errores como tal sino sugerencias para intentar compatibilizar el feed con el mayor número de lectores de RSS. Por ejemplo la primera nos informa de que existen demasiadas entradas con la misma fecha y hora. El segundo que para mejorar la compatibilidad no se incluya HTML dentro de los feeds, pero nosotros en este caso no buscamos la mayor compatibilidad si no que quien los vea los vea bien y a todo lujo de detalles, un producto bien presentado vende mucho más que uno que se vea con un Amstrad CPC a sólo texto.
Enlace: http://beta.feedvalidator.org/
Saber las keywords más apropiadas para tu web
Muchos webmaster y diseñadores web dedican un tiempo excesivo en la elección de las palabras claves para su página web, algunos llenan el pobre metatag keyword con auténticas toneladas de palabras clave, otros llegan más lejos haciendo auténticas burradas como repetir palabras con acentos y sin acentos, singulares y plurales, si eres uno de ellos, no temas hemos hoy hemos venido a tu rescate y te vamos a contar un secreto para que triunfes:
Y ¡no!, el secreto no es el de la cocacola, ¿qué pensabas? ¿qué te íbamos a regalar la fórmula así como así? el secreto no es otro que emplees el tiempo que dedicas a meditar tus palabras clavespara crear buen contenido para tu web, original sin copypastes ni nada por el estilo.
Si, por que la web cada día es más semántica y los semas son las palabras con información, por ello tu web debe estar redactada con un lenguaje natural, más técnico si el público es técnico y más social si tu target es más social pero redactada sin que se te vea el plumero, no vale eso de poner 10 palabras claves en el texto una detrás de la otra, como mínimo con la métrica SEO en mano deberás dejar de 3 a 4 líneas antes de inyectar una keyword en un texto visible.
Nunca te vuelvas a preocupar nunca más por las palabras claves de los metatags. Porque además de ser una auténtica pérdida de tiempo, los buscadores como Google compararán esas palabras claves con las palabras visibles en el html que obtienen al indexar tu web de cabo a rabo, despreposicionarán el texto, es decir le quitarán las preposiciones, los desarticularán y harán un resumen con las palabras semánticas de mayor densidad. Por ello, redacta el contenido acorde con tu objetivo y una vez lo tengas utiliza una herramienta para generar los metatags, una herramienta que se chupará el texto de tu web y te dirá las palabras claves en base a todo lo que has escrito.
Mírate la siguiente herramienta: http://www.seomoz.org/term-extractor
Ahora vamos a por un ejemplo clarificador:
Si en una página tienes el siguiente:
Apartamentos en La Costa Brava, cerca de Cadaqués equipados con cocina, nevera y TV. Tienes el mar a escasos 5 minutos y supermercados a menos de 10.
Y colocas las siguientes palabras claves con calzador:
verano,vacaciones,playa,sol,apartamento,hotel,500 metros de la playa, televisión,oferta,barato
Google las ignorará porque de esas palabras claves tan sólo tienen densidad:
apartamento
Y apartamentos hay tantos y en tantas poblaciones que nunca te posicionarás.
Las palabras claves correctas serían:
apartamento,costa brava,cadaqués,cocina,tv,mar
En este ejemplo se ve muy fácil pues el texto es corto, pero es con los textos largos con los que encontrarás la aplicacion web que te hemos señalado de vital importancia.


