AYUDA operadores comparacion sentencia prepare
Publicado por Derwydd (3 intervenciones) el 11/12/2015 09:02:27
Buenas! Soy novato en esto del PHP/SQL y me estoy volviendo tonto intentando conseguir que funcione parte de un código que estoy desarrollando.
Lo que me falla es esto:
$clauses['where'] .= $wpdb->prepare( " AND tabla1.variable1 LIKE '%s')) ", $param1);
Busco que, tras haber seleccionado ciertas partes de una tabla (tabla1) con $clauses['join'] .= $wpdb->prepare( " LEFT JOIN ( SELECT etc etc... , me muestre aquellas filas de la variable1 que CONTENGAN el texto del $param1.
Según lo tengo ahora mismo (...AND tabla1.variable1 LIKE '%s') lo que hace es mostrar aquellas que COINCIDE EXACTAMENTE con param1. Y así funciona bien. Pero como quiero que muestre las que la contengan, y no solo las que coincidan exactamente, he probado a poner (..AND tabla1.variable1 LIKE '%%s%'), es decir, el parametro entre los operadores %%, ya que he visto que estos actuan como comodín. Se supone que debería funcionar, pero lo que hace ahora es seleccionar TODAS las filas de la tabla, contengan o no el parametro buscado.
PREGUNTA: Alguien puede decirme cómo ponerlo para que me muestre las que CONTENGAN el valor del parámetro (no las que sean exactamente igual, ni todas las filas) ??
MIL GRACIAS!!
Lo que me falla es esto:
$clauses['where'] .= $wpdb->prepare( " AND tabla1.variable1 LIKE '%s')) ", $param1);
Busco que, tras haber seleccionado ciertas partes de una tabla (tabla1) con $clauses['join'] .= $wpdb->prepare( " LEFT JOIN ( SELECT etc etc... , me muestre aquellas filas de la variable1 que CONTENGAN el texto del $param1.
Según lo tengo ahora mismo (...AND tabla1.variable1 LIKE '%s') lo que hace es mostrar aquellas que COINCIDE EXACTAMENTE con param1. Y así funciona bien. Pero como quiero que muestre las que la contengan, y no solo las que coincidan exactamente, he probado a poner (..AND tabla1.variable1 LIKE '%%s%'), es decir, el parametro entre los operadores %%, ya que he visto que estos actuan como comodín. Se supone que debería funcionar, pero lo que hace ahora es seleccionar TODAS las filas de la tabla, contengan o no el parametro buscado.
PREGUNTA: Alguien puede decirme cómo ponerlo para que me muestre las que CONTENGAN el valor del parámetro (no las que sean exactamente igual, ni todas las filas) ??
MIL GRACIAS!!
Valora esta pregunta
0