Foros del Web » Programando para Internet » PHP »

Problema escapando consulta

Estas en el tema de Problema escapando consulta en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 18/12/2012, 05:14
 
Fecha de Ingreso: abril-2012
Mensajes: 590
Antigüedad: 12 años
Puntos: 58
Problema escapando consulta

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 original
  1. INSERT 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 original
  1. You 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
  #2 (permalink)  
Antiguo 18/12/2012, 05:48
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Problema escapando consulta

Tienes que escapar campo a campo. Sino se va a descomponer la consulta.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 18/12/2012, 06:12
 
Fecha de Ingreso: abril-2012
Mensajes: 590
Antigüedad: 12 años
Puntos: 58
Respuesta: Problema escapando consulta

Gracias.

pensé que se podría. Sino se puede no me van a valer las 4-5 clases que tengo porque habrá que preparar todas las consultas individualmente.

Entonces si trabajas con clases no queda otra que crear una clase para cada consulta diferente que tengas.

Etiquetas: mysql, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:46.