jueves, 19 de septiembre de 2019

Actualizar caracteres extraños en mysql con un solo query

Actualizar caracteres extraños en mysql con un solo query

Para actualizar un campo de una tabla en mysql en su totalidad se utiliza este solo query:

UPDATE [tabla] SET [campo] = CONVERT(BINARY CONVERT([campo] USING latin1) USING utf8);

Ejemplo:

UPDATE wallpaper SET titulo = CONVERT(BINARY CONVERT(titulo USING latin1) USING utf8);

Nota importante:
Por motivos de seguridad de los datos es vital sacar un backup de los datos a actualizar.

martes, 17 de septiembre de 2019

Crear log en archivos PHP y recuperar la información

Crear log en archivos PHP y recuperar la información

Con este método podemos gestionar de forma fácil cualquier log en archivo que deseemos almacenar:

function saveLOG($nombre, $info) {
    $file = fopen($nombre . '_' . date('Y-m-d') . '.txt', 'a');
    fwrite($file, $info . PHP_EOL);
    fclose($file);
}

$nombre es el nombre del archivo. El método le agregaría la fecha actual y le pondría la extensión txt.

$info es la información que deseamos guardar.

Ejemplo de uso:

$info = "$dato1|$dato2|$dato3|$dato4|$dato5|$dato6";
saveLOG('noti_susc.txt', $info);

Aquí hemos separado por el carácter | (pipe) los datos que se encuentras en las variables. También podemos guardar texto literal, o cualquier otro dato tipo texto.

Para leerlo simplemente usamos la función de php fopen:

$f = fopen('noti_susc.txt_2019-09-17.txt', 'r'); // Aquí colocamos el nombre del archivo en el cual guardamos el log o cualquier otro log legible.

while ($l = fgets($f)) {
    if (feof($f)) { // Truco no muy bonito pero efectivo, que al llegar al fin de archivo salga del bucle
        break;
    }

    $aux = explode('|', $l); // Guardamos los datos separados por el carácter | y los separamos
    // Uso de los datos separados
    echo $aux[0] . $aux[1] . $aux[2] . $aux[3] . $aux[4] . $aux[5] . $aux[6]; // Etc. cantidad de variables
}