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;