PHP 5.6.0 released

sybase_unbuffered_query

(PHP 4 >= 4.3.0, PHP 5)

sybase_unbuffered_queryEnvia uma consulta Sybase e não bloqueia

Descrição

resource sybase_unbuffered_query ( string $query , resource $link_identifier [, bool $store_result ] )

Retorna um identificador de resultado Sybase positivo em caso de sucesso, ou FALSE em caso de erro.

Nota: Esta função somente está disponível quando utilizando a biblioteca de interface CT do Sybase, mas não pela biblioteca DB.

sybase_unbuffered_query() envia uma consulta para o banco de dados ativo no servidor que esta associado ao identificador de conexão especificado. Se o identificador de conexão não for especificado, a última conexão aberta é assumida. Se não houver conexão aberta, a função tenta estabelecer uma conexão como se sybase_connect() fosse chamada, e a utiliza.

Diferentemente de sybase_query(), sybase_unbuffered_query() lê apenas a primeira linha do conjunto de resultados . sybase_fetch_array() e as funções similares lêem mais linhas caso necessário. sybase_data_seek() lê até a linha desejada. este funcionamento deve produzir melhor velocidade para grandes conjuntos de resultados.

sybase_num_rows() irá retornar apenas o número coreto de linhas se todo o conjunto de resultados já foi lido. Para o Sybase, o número de linhas não é conhecido e portanto não é computado pela implementação do cliente.

Nota:

Se você não ler todo o conjunto de resultados antes de executar a próxima consulta, o PHP irá emitir um aviso e cancelar todos os resultados pendentes. Para eliminar isto, use sybase_free_result() o qual cancela os reaultados pendentes de uma consulta sem buffer.

O parâmetro opcional store_result pode ser FALSE para indicar que os conjuntos de resultados não devem ser obtidos para a memória, assim minimizando a utilização de memoria, o que é particularmente interessante para conjuntos muito grandes de resultados.

Exemplo #1 Exemplo sybase_unbuffered_query()

<?php

$dbh 
sybase_connect('SYBASE''''');
$q sybase_unbuffered_query('select firstname, lastname from huge_table'$dbhfalse);
sybase_data_seek($q10000);
$i 0;

while (
$row sybase_fetch_row($q)) {
    echo 
$row[0], ' '$row[1], '<br />';
    if (
$i++ > 40000) {
        break;
    }
}

sybase_free_result($q);
sybase_close($dbh);

?>

Veja também sybase_query().

add a note add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top