PHP - Problema para exibir conteudo de uma variavel [RESOLVIDO]

Bom dia,

Estou com dificuldade em exibir o conteudo de um SELECT de um atributo LONG TEXT, criei uma tabela com textos matriz para serem utilizados em laudos médicos. Segue o codigo:

						$link = @mysqli_connect("localhost","root","","pacsdb") or die(mysqli_connect_error());

							$result8 = null;
							$descricaoexame=null;
                            $result8 = $link->query("SELECT `texto` FROM `matriz` WHERE `titulo` LIKE '%Angio%' LIMIT 1") or trigger_error($link->error);

                           echo $descricaoexame = $result8 ->fetch_array(MYSQL_BOTH);

Esse código me retorna o seguinte erro :
Array to string conversion in C:\wamp64\www\laudator\testesess.php on line 22

A linha com erro no caso é onde esto dando o echo.
OBS: Tenho varios SELECT de outros atributos como VARCHAR e todos funcionam normal.
Sou iniciante em PHP entao sei pouca coisa.

Isso ocorre porque o echo é responsável por imprimir dados do tipo String. Tente utilizar um print_r() ou um var_dump() no resultado da query que você receberá um output natural.

Exemplo:

print_r($descricaoexame);
var_dump($descricaoexame);

Fico no aguardo! :metal:

Tente dessa forma…

$descricaoexame = $result8 ->fetch_array(MYSQL_NUM); //evite MYSQL_BOTH

foreach ($descricaoexame as $linha => $valor) {
    echo 'Linha: ', $linha + 1, ' - valor: ', $valor, '<br>';
}

Em php array não pode ser convertido diretamente para string, você precisa “adaptar”…

Porém dessa forma ele só vai pegar a primeira linha da consulta, mas você terá uma base e serve para estudos, sempre leia a documentação da função que está usando, há exemplos de uso lá…

https://secure.php.net/manual/pt_BR/mysqli-result.fetch-array.php

1 curtida

Obrigado com print_r deu certo! Agora eu tenho que colocar em PT_BR pois esta desconfigurado.
Seria só dar um :

print_r utf8_encode();

Para que ficasse no padrao UTF8?

1 curtida

Obrigado estarei estudando mais sobre Arrays em PHP

1 curtida

Sim, talvez seu banco de dados não esteja em padrão UTF-8. Dê uma checada! :wink:

O ideal é configurar tudo, páginas, banco, etc para utf8, considerado hoje em dia o padrão da web, evita problemas com acentuação… se estiver em windows, o notepad++ tem recursos para converter o arquivo, evite usar funções do tipo utf8_encode e utf8_decode pois isso é gambiarra…

Pessoal também confunde muito e diz “ah, mas eu ajustei o meta charset e não mudou”, isso não resolve pois o meta serve apenas para dizer ao navegador qual encoding/charset o arquivo foi salvo…

1 curtida