Mostrando las entradas con la etiqueta mysql. Mostrar todas las entradas
Mostrando las entradas con la etiqueta mysql. Mostrar todas las entradas

martes, 4 de agosto de 2020

Método para SELECT, INSERT, UPDATE, DELETE en PHP

Base de datos

La siguiente función de usuario permite realizar no solo un SELECT y regresar el array de los datos, sino que también permitirá realizar cualquier otra instrucción MySQL:

function consultar($sql)
{
    $link = new mysqli('[IP]', '[USER]', '[PASSWORD]', '[BASE DE DATOS]');

    if ($link->connect_errno) {
        die('Fallo al conectar a MySQL: ' . $link->connect_error);
    }

    $result = $link->query($sql);

    if (strstr($sql, 'SELECT') && $result->num_rows > 0) {
        $rows = [];

        while ($row = $result->fetch_assoc()) {
            $rows[] = $row;
        }

        return $rows;
    } elseif (strstr($sql, 'INSERT')) {
        return $link->insert_id;
    }

    return false;
}

viernes, 10 de julio de 2020

Insertar Emojis en MySQL

emoji in mysql

Si queremos insertar Emojis en MySQL posiblemente nos encontremos con el siguiente error:

Error de SQL (1366): Incorrect string value: '\xF0\x9F\x8F\x81' for column 'script' at row 1uery

Para poder permitir la inserción de emojis en nuestra base de datos MySQL debemos cambiar la Colación del campo donde vamos a insertar.

Por ejemplo si el campo de nuestro interés tiene el valor utf8_general_ci en COLLATION debemos cambiarlo por utf8mb4_unicode_ci.

Esto se puede hacer mediante un gestor de MySQL o mediante la instrucción:

ALTER TABLE <table_name> MODIFY <column_name> VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

Donde VARCHAR(255) es opcional.


De esta forma si ejecutamos la instrucción;

INSERT INTO <table_name> VALUES (' 🦕 ');

No tendrá ningún problema al guardar el Emoji

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.

viernes, 11 de enero de 2019

Método para retornar resultados en array MySQL en PHP


function consultar($sql) {
    $link = new mysqli('[IP]', '[USER]', '[PASSWORD]', '[BASE DE DATOS]');

    if ($link->connect_errno) {
        die('Fallo al conectar a MySQL: ' . $link->connect_error);
    }

    $result = $link->query($sql);

    if ($result->num_rows > 0) {
        $rows = array();

        while ($row = $result->fetch_assoc()) {
            $rows[] = $row;
        }

        return $rows;
    } else {
        return FALSE;
    }
}


USO:

$sql = "SELECT id FROM tabla";
$array = consultar($sql);

foreach ($array as $key => $value) {
    echo $value['id'];
}

jueves, 10 de enero de 2019

Cómo actualizar uno o varios caracteres en un campo mysql

Formato
UPDATE tabla SET campo = REPLACE(campo, "a", "e");

Ejemplo
Si tenemos una tabla llamada juegos y en ella un campo llamado pais, cuyo contenido deseamos cambiar en todos los registros, debemos utilizar la siguiente expresión sql:

UPDATE juegos SET pais = REPLACE(pais, "rd", "do");