El tema es el siguiente, tengo un bucle que recorre datos de otra BD y los inserta en la mía (mysql). En cuanto llega a algún varchar que tiene alguna ' en el texto pues falla evidentemente. Hasta ahí bien.
Pero en cuanto quiero escapar las consultas me dan error. Por ejemplo. Este es el primer INSERT:
Código MySQL:
Ver originalINSERT INTO articulo
(claart
, codigo
, nombre
, s_alm_temp_vigo
, s_urbarrio
, s_alm_temp_camion
, s_dresden
, s_consignia
, s_alcabre_moto
, s_motoexpress
, s_perdidas
, s_alcabre_urba
, s_dot
) VALUES (12, '0967200', 'ME. MC 4 110/90-19 NHS R TT', 6, 20, 2, 0, 0, 3, -5, -10, -3, 0)
Ahora, escapado da error:
Código MySQL:
Ver originalYou have an error
in your SQL syntax
; check the manual that corresponds
to your MySQL server
version for the
right syntax
to use near
'\r\n VALUES (12, \'0967200\', \'ME. MC 4 110/90-19 NHS R TT\', 6, 20, 2,\r\n ' at line
159
Entiendo que porque me está intentando escapar las ' de los campos varchar. Como se soluciona esto? Estoy escapando así:
$consulta = mysqli_real_escape_string($this->mysqli, $consulta);
¿Hay que escapar campo a campo?
¿No se puede hacer a toda la consulta?
¿es normal tener que pasar la variable de la conexion a mysqli real escape string? me parece extraño la verdad