Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/07/2015, 08:57
Avatar de Tollelle
Tollelle
 
Fecha de Ingreso: enero-2005
Mensajes: 64
Antigüedad: 19 años, 10 meses
Puntos: 0
RegEx filtrar despues de WHERE

Buenas tardes.

Tengo una duda que no me deja avanzar con las expresiones regulares.
A ver si pueden orientar o ayudar un poco.

Quiero añadirle comillas a todos los parámetros que vayan destrás de WHERE en un query mysqli.

Les pongo el código:

Código PHP:
Ver original
  1. $query = 'manolito = gafotas SELECT * FROM niveles WHERE 1 =\'1\' OR 2 = AND 3= \'3\' AND 4   = 4 OR 5= OR 6= 66 AND 7 =';
  2.  
  3. $patron = '/(\=|\=\s+)(\z|([\w]+))/i';
  4. $sustitucion = ' = \'$2\' ';
  5.  
  6. $resultado = preg_replace($patron, $sustitucion, $query);
  7. echo "$query<br />$resultado";
  8.  
  9. //// IMPRIME: manolito = 'gafotas' SELECT * FROM niveles WHERE  1 ='1' OR 2 = '' AND 3= '3' AND 4 = '4' OR 5 = '' OR 6 = '66' AND 7 = ''

Lo que estoy intentando es que me transforme solo lo que está después del WHERE y no antes.

¿Se les ocurre alguna forma?

Gracias de antemano.

Un saludo.