Ir para conteúdo

POWERED BY:

Arquivado

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

Lajus

[Resolvido] Consulta não retorna o texto completo

Recommended Posts

Salve galera;

 

Estou tentando fazer uma consulta via php em um banco sql server, mas esta retornando o texto incompleto, parece que existe um limite de caracteres, alguem sabe o que pode estar acontecendo?

a consulta esta assim:

 

$resultado = mssql_query("SELECT texto FROM editor where id=13");
while($linha = mssql_fetch_array($resultado))
$conteudo = $linha['texto'];
$conteudo = ereg_replace("<p>", "", $conteudo);//tira o paragrafo do texto
$conteudo = ereg_replace("</p>", "<br>", $conteudo);
$conteudo = ereg_replace("<P>", "", $conteudo);//tira o paragrafo do texto
$conteudo = ereg_replace("</P>", "<br>", $conteudo);
echo $conteudo;
?>

E o campo "texto" no sql esta como TEXT:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não tem 'nada de errado', com o script.. mas teste primeiro sem os replaces..

while($linha = mssql_fetch_array($resultado))
{
/*
  $conteudo = $linha['texto'];
  $conteudo = ereg_replace("<p>", "", $conteudo);//tira o paragrafo do texto
  $conteudo = ereg_replace("</p>", "<br>", $conteudo);
  $conteudo = ereg_replace("<P>", "", $conteudo);//tira o paragrafo do texto
  $conteudo = ereg_replace("</P>", "<br>", $conteudo);
*/
echo $conteudo;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Descobri qual é o problema mas infelizmente não descobri a solução, o que acontece é o seguinte:

Como estou no plano Windows da Locaweb, não tenho acesso ao php.ini (nesse caso ele é global) e por isso não posso alterar as linhas:

mssql.textlimit=4096

mssql.textsize=4096

Uma solução seria migrar para o plano Linux, mas o cliente não gostaria de alterar o plano.

 

Alguem tem alguma sugestão?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Por alto, seu problema deve ser no design de sua table sql.

Verifique você não limitou sua coluna (varchar(200)) algo assim...

 

[]s

 

//

 

Desculpe, agora que reli seu post e vi que a coluna esta como TEXT.

Se seu problema é no php.ini, tente usar ini_set()

http://br.php.net/ini_set

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu NeoHat, solução perfeita.

Vou deixar o código aqui para futuras consultas:

 

Basta colocar o seguinte código no topo da página:

 

ini_set('mssql.textlimit','16000');

ini_set('mssql.textsize','16000');

 

No meu caso 16000 foi o suficiente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não calma, vai devagar garoto :rolleyes:

Não é para por no topo das páginas, cria 1 arquivo apenas para rodar o script. Depois que você rodar uma vez, seu php.ini já fica setado.

Se você deixar isso no topo das páginas, ele vai ficar setando toda vez que acessar uma página.

 

[]s http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

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.