Como filtrar o símbolo "%" num DB SQL?!

Enviada por Gerson Monteiro 
Gerson Monteiro
Como filtrar o símbolo "%" num DB SQL?!
04 de March de 2003 às 12:06AM
Tenho um DB de notícias em MySQL e no campo TITULO tenho o símbolo "%" (porcentagem). Quando mando imprimir o DB na tela, ele dá um erro devido ao símbolo. Como filtrar esse erro e imprimir normalmente na tela?!

O erro é este:
Warning: printf(): too few arguments in (caminho do arquivo.php)
...

Alguém sabe como eu resolvo isso?!
Valeu!
Jayr Porto
Re: Como filtrar o símbolo "%" num DB SQL?!
04 de March de 2003 às 03:39PM
Coloca o pedaço deste código ai para darmos uma olhada.

Inicialmente, o % é um comando de interpretação e devderá conter um identificador depois dele. No uso do printf(), cada % deverá estar correspondido por uma variável ou constante após a vírgula.

Deixa o código ai para ter certeza do que esta escrito e qual o erro. Pode ser uo não do DB.
Gerson Monteiro
Re: Como filtrar o símbolo "%" num DB SQL?!
04 de March de 2003 às 03:44PM
eh um sisteminha simples para paginar resultados. mas aih qd ele abre o db, nomeia os campos e vai imprimir na tela, ele dá o erro..
-------------------

$sql = mysql_query("SELECT * FROM not_noticias ORDER BY id DESC LIMIT $pagina,$num");
while($dados=mysql_fetch_array($sql)){
$titulo=$dados["titulo"];
$autor=$dados["autor"];
$data=$dados["data"];
$hora=$dados["hora"];
$id=$dados["id"];

printf('
<font size="1" face="Verdana">ID: <b>'.$id.'</b><br>
Titulo: <b>'.$titulo.'</b><br>
Data / Hora: <b>'.$data.'</b><br>
Ação: <a href="deletar.php?acao=del&id='.$id.'">Deletar</a> | <a href="editar.php?id='.$id.'">Editar</a></font>
<hr>
');
-------------------
esta é a parte onde tá dando o erro...
<b>Re: Como filtrar o símbolo &quot;%&quot; num DB SQL?!</b>
05 de March de 2003 às 06:09PM
<HTML>Você e3sta disperdiçando a melhor função de formatação do php que é printf().

Desta forma, ele esta substituindo o conteúdo das variáveis antes de printalas. troque seu comando para:

printf('
<font size="1" face="Verdana">ID: %s<br>
Titulo: %s<br>
Data / Hora: %s<br>
Ação: <a href="deletar.php?acao=del&id=%s">Deletar</a> | <a href="editar.php?id=%s">Editar</a></font>
<hr>'
, $id, $titulo, $data, $id, $id);

O que fiz foi, no lugar das suas variáveis, substituí por um %s e, separadas por vírgula no final (depois de fechar as aspas simples do comando, listar cada variável ( uma variável para cada comando %s).

Testa isso e fala.</HTML>
<b>Re: Como filtrar o símbolo &quot;%&quot; num DB SQL?!</b>
05 de March de 2003 às 08:19PM
<HTML>Desculpe. Quando publiquei ficou o resultado e não o código. Ai vai o código:

printf('
<font size="1" face="Verdana">ID: %s<br>
Titulo: %s<br>
Data / Hora: %s<br>
Ação: <a href="deletar.php?acao=del&id=%s">Deletar</a> | <a href="editar.php?id=%s">Editar</a></font>
<hr>
', $id, $titulo, $data, $id, $id);

Por favor, estou escrevendo um artigo sobre o printf e gostaria de utilizar seu exemplo. Se for possível, me de a autorização aqui mesmo.

Obrigado

Jayr Porto</HTML>
<b>Re: Como filtrar o símbolo &quot;%&quot; num DB SQL?!</b>
05 de March de 2003 às 08:23PM
<HTML>É, não esta passando. Desculpe.

Faça o seguinte: Na linha que você já tem, troque cada variável por %s. Serão 5 ao todo. NBo final do comando (e antes do fecha parentesis, coloque cada variável separada por vírgula, como da para ver abaixo da linha no exemplo acima.

Qualquer coisa me avise que mando o código por e-mail.

Mais uma vez, desculpe-me</HTML>
a
Re: fSWQ7YDgNa
08 de March de 2006 às 04:09PM
O "$s" causou erro na pagina
Você precisa estar logado no PHPBrasil.com para poder enviar mensagens para os nossos fóruns.

Faça o login aqui.