Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Felipe R M

[Resolvido] Busca com aspas usando Match against

Recommended Posts

Olá pessoal,

 

tenho um formulário de busca usando MATCH AGAINST (MySQL 4.1) que funciona perfeitamente.

AS buscas com aspas tbm funcionam, mas minha paginação fica comprometida, pq a variavel se modifica.

exemplo:

 

$sql = "SELECT * FROM tabela WHERE MATCH (campo) AGAINST ('$palavra' IN BOOLEAN MODE)";

Se a busca for, por exemplo: "Pedro Antonio", funciona e me retorna os resultados corretos, mas quando dou um echo em $palavra, ele me mosta \"Pedro Antonio\"

 

E isso esta complicando minha paginação e outros links onde uso a variavel $palavra.

 

Como posso resolver isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Resolvido

 

usei a função seguinte:

function stripMagicQuotes($iS) { if (!is_array($iS)){ return stripslashes($iS);}else{return array_map('stripMagicQuotes', $iS);}}if (get_magic_quotes_gpc()) { $_GET = stripMagicQuotes($_GET);$_POST = stripMagicQuotes($_POST);}

Achei num site, mas nao lembro mais qual foi.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Felipe,

 

Essa função que você usou não está feita necessariamente para o seu problema, simplificando ela, já que você vai usar simplesmente uma string.

 

function stripMagicQuotes($var)
{
	$var = get_magic_quotes_gpc() ? stripslashes($var) : $var;
	return $var;
}

Isso acontece porque a variavel está vindo de um POST, e a função magic_quotes_gpc está ativada (PHP 6 não irá mais existir!), ai então, por "segurança", o PHP quando tal função está ativada, ele coloca barra invertida no $_POST,$_GET,$_COOKIE, para evitar por exemplo injections em banco de dados.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.