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.
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