sybase_unbuffered_query

(PHP 4 >= 4.3.0, PHP 5)

sybase_unbuffered_queryEnvoie une requ�te � Sybase et ne bloque pas

Description

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

sybase_unbuffered_query() envoie la requ�te query au serveur Sybase actif, repr�sent� par link_identifier . Si link_identifier n'est pas sp�cifi�, la derni�re connexion ouverte sera utilis�e. Si aucune connexion n'a �t� ouverte, la fonction essaiera d'�tablir un lien avec sybase_connect(), et de l'utiliser.

Contrairement � sybase_query(), sybase_unbuffered_query() lit uniquement la premi�re ligne lue. sybase_fetch_array() et les fonctions similaires lisent les lignes n�cessaires. sybase_data_seek() lit jusqu'� la prochaine ligne. Ce comportement fournit des performances accrues pour les r�sultats de grande taille.

sybase_num_rows() ne retournera le nombre de lignes correct que si toutes les lignes du r�sultat ont �t� lues. Pour Sybase, le nombre de ligne n'est pas connu, et doit �tre calcul� par le programme client.

Note: Si vous ne lisez pas toutes les lignes du r�sultat avant d'ex�cuter une nouvelle requ�te, PHP va g�n�rer une alerte, et annuler toutes les lignes qui restent � lire. Pour �viter cela, utilise la fonction sybase_free_result() qui va annuler les lignes restantes.

Liste de param�tres

query

link_identifier

store_result

Le param�tre optionnel store_result peut valoir FALSE pour indiquer que les lignes ne doivent pas �tre ramen�es en m�moire, afin de r�duire la consommation, surtout dans le cas de tr�s grands r�sultats.

Valeurs de retour

Retourne un identifiant de r�sultat Sybase en cas de succ�s, ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec 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);

?>

Notes

Note: Cette fonction n'est disponible qu'avec la biblioth�que CT Sybase, et non pas avec la biblioth�que DB.

Voir aussi