Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/06/2013, 16:05
acubino
 
Fecha de Ingreso: mayo-2003
Ubicación: Cantabria
Mensajes: 20
Antigüedad: 21 años, 6 meses
Puntos: 0
Problema escapando SQL con mysqli->real_escape_string

Hola de nuevo (casi 10 años desde mi último post

Tengo un problema escapando variables de MYSQL, que por miro no resuelvo, y es un error escapando cadenas.

Cadena que le paso (por POST).
espa' fasjkds\'' aksfaksd\' s3

Cadena que obtengo por MYSQL
Escapada: espa\' fasjkds\\\'\' aksfaksd\\\' s3

Evidentemente al haber un \\' el MYSQL me suelta un error de sintaxis incorrecta.

El código para escapar es:
$escapada = $this->mysqli[$user_mode]->real_escape_string($valor);
Dónde $mysqli[$user_mode] es el objeto de la base de datos.

El Magic quotes aunque no está desactivado en el servidor, ya está suplido con una función y está comprobado que la variable es la indicada arriba.

¿Por dónde van los tiros y porque no puedo escapar correctamente mi variable para hacer un INSERT?

El SQL que falla es:
UPDATE `tabla` SET `nombre` = 'espa\' fasjkds\\'\' aksfaksd\\' s3', `descripcion` = 'descripcion spa' WHERE idioma = 'es' LIMIT 1;