Hola,
Tengo una consulta MySQL en la cual necesito utilizar REGEXP mas preciso la expresión regular [[:<:]] delimitador de una palabra.
Si hago una busqueda sin pasar las variables como parámetros PDO todo va bien (pongo aqui un ejemplo probado que funciona correctamente):
Código PHP:
Ver original$my_conexion = new PDO("mysql:host=".$mysql_host.";dbname=".$mysql_bd, $mysql_user, $mysql_password);
$my_busqueda = "a";
$sql ="
SELECT *
FROM my_tabla
WHERE my_columna REGEXP '[[:<:]]".$my_busqueda."'=1
";
$my_consulta = $my_conexion->prepare($sql);
$my_consulta->execute();
echo $my_consulta->rowCount(); //devuelve el numero correcto de filas encontradas
El problema es que quiero (por seguridad) pasar la variable
$my_busqueda como parametro PDO
:my_busqueda pero no funciona. El ejemplo aqui debajo:
Código PHP:
Ver original$my_busqueda = "a";
$sql ="
SELECT *
FROM my_tabla
WHERE my_columna REGEXP '[[:<:]]:my_busqueda'=1
";
$my_consulta = $my_conexion->prepare($sql);
$my_consulta->bindParam(":my_busqueda", $my_busqueda, PDO::PARAM_STR);
$my_consulta->execute();
echo $my_consulta->rowCount(); // 0 filas encontradas. con el parametro :my_busqueda no devuelve ninguna fila
Seguro algo hago mal. Pero no se que.
Cualquier ayuda se agradece.
Saludos