"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo manejar correctamente los apóstrofos en las consultas de inserción de MySQL para evitar errores de sintaxis?

¿Cómo manejar correctamente los apóstrofos en las consultas de inserción de MySQL para evitar errores de sintaxis?

Publicado el 2024-11-07
Navegar:395

How to Correctly Handle Apostrophes in MySQL Insert Queries to Prevent Syntax Errors?

Manejo de apóstrofos en consultas de inserción de MySQL

En MySQL, las consultas de inserción que contienen apóstrofes (comillas simples) pueden encontrar errores de sintaxis. Cuando te encuentras con el error "Tienes un error en tu sintaxis SQL...", específicamente con respecto a los apóstrofes, existen soluciones para garantizar una inserción exitosa de los datos.

La solución clave radica en escapar de los apóstrofes usando una barra invertida (\ ) personaje. Por ejemplo, la cadena "Kellogg's" debería escribirse como "Kellogg's". Al escapar del apóstrofo con una barra invertida, MySQL interpreta el siguiente carácter como un literal en lugar de un indicador de sintaxis.

Además, es recomendable utilizar la función mysql_real_escape_string() de MySQL al preparar los datos para la inserción. Esta función escapa automáticamente de los caracteres especiales, incluidos los apóstrofes, lo que la convierte en una protección integral contra posibles inyecciones de SQL. Considere el siguiente ejemplo:

function insert($database, $table, $data_array) {
    $mysql_connect = connect_to_database();
    mysql_select_db($database, $mysql_connect);

    foreach ($data_array as $key => $value) {
        $tmp_col[] = $key;
        $tmp_dat[] = "'" . mysql_real_escape_string($value) . "'"; // Escaping
    }

    $columns = join(',', $tmp_col);
    $data = join(',', $tmp_dat);

    $sql = 'INSERT INTO ' . $table . '(' . $columns . ')VALUES(' . $data . ')';
    $result = mysql_query($sql, $mysql_connect);

    if (!$result) {
        echo 'MySQL Update Error: ' . mysql_error($mysql_connect);
        $result = '';
    } else {
        return $result;
    }
}

Al utilizar este método, puede insertar datos que contengan apóstrofes en tablas MySQL sin errores de sintaxis ni vulnerabilidades de seguridad.

Declaración de liberación Este artículo se reimprime en: 1729688123 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3