7.102 Sybase
7 Index des fonctions
Manuel PHP
. Introduction . Pré-requis . Installation . Configuration à l'exécution . Types de ressources . Constantes prédefinies . sybase_affected_rows . sybase_close . sybase_connect . sybase_data_seek . sybase_deadlock_retry_count . sybase_fetch_array . sybase_fetch_assoc . sybase_fetch_field . sybase_fetch_object . sybase_fetch_row . sybase_field_seek . sybase_free_result . sybase_get_last_message . sybase_min_client_severity . sybase_min_error_severity . sybase_min_message_severity . sybase_min_server_severity . sybase_num_fields . sybase_num_rows . sybase_pconnect . sybase_query . sybase_result . sybase_select_db . sybase_set_message_handler ->sybase_unbuffered_query
|
7.102.31 sybase_unbuffered_query()Envoie une requête à Sybase et ne bloque pas[ Exemples avec sybase_unbuffered_query ] PHP 4 >= 4.3.0
resource
sybase_unbuffered_query (
string
query
,
resource
link_identifier
)
sybase_unbuffered_query
retourne une ressource
Sybase result en cas de réussite, et
FALSE
sinon.
sybase_unbuffered_query
envoie la requete
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.
|
Le paramètre optionnel
store_result
peut valoir
FALSE
pour indiquer que les lignes ne doivent pas être ramené en mémoire, afin de
réduire la consommation, surtout dans le cas de très grands résultats.
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[0]; if ($i++ > 40000) break; } sybase_free_result($q); sybase_close($dbh); ?>
|
|