sybase_unbuffered_query
(PHP 4 >= 4.3.0, PHP 5)
sybase_unbuffered_query — Envoie une requ�te � Sybase et ne bloque pas
Description
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', $dbh, false);
sybase_data_seek($q, 10000);
$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.