ODBC + SQL SERVER + PHP – Coluna retornando apenas 4096 caracteres


PHP

Se você já passou pela situação de usar uma conexão SQL SERVER com ODBC em PHP e simplesmente quando tenta ler um coluna não vem todos os caracteres. Tente o seguinte:

Pode ser que seu ODBC no PHP esteja limitado a apenas 4096 bytes (4kb) na variável odbc_longreadlen.

Adicione na sua query a linha abaixo:

odbc_longreadlen($res, 16384);

Isso permitirá retornar o campo acima de 16kb.

Um exemplo completo ficaria assim:

<?php

$sql = "SELECT * FROM sua_tabela;";
$res = odbc_exec($c_sqls,$sql);
odbc_longreadlen($res, 16384); // ----- adicione esta linha
while($obj = odbc_fetch_array($res)) {				
    $termo = base64_decode($obj['Termo']);
}

?>

Referência: https://www.php.net/manual/en/function.odbc-longreadlen.php

Val Branco

Programador há mais de 20 anos, instrutor e especialista em PHP.

Criador do método de treinamento EU POSSO PROGRAMAR.

Quer saber mais? Entre em contato