mysql_thread_id() <<< |
mysql_use_result() | mysql_warning_count() >>> |
21.2.3 Description des fonctions de l'API C 21.2 API MySQL C 21 API MySQL Manuel de Référence MySQL 4.1 : Version Française . mysql_affected_rows() . mysql_change_user() . mysql_character_set_name() . mysql_close() . mysql_connect() . mysql_create_db() . mysql_data_seek() . mysql_debug() . mysql_drop_db() . mysql_dump_debug_info() . mysql_eof() . mysql_errno() . mysql_error() . mysql_escape_string() . mysql_fetch_field() . mysql_fetch_fields() . mysql_fetch_field_direct() . mysql_fetch_lengths() . mysql_fetch_row() . mysql_field_count() . mysql_field_seek() . mysql_field_tell() . mysql_free_result() . mysql_get_client_info() . mysql_get_client_version() . mysql_get_host_info() . mysql_get_proto_info() . mysql_get_server_info() . mysql_get_server_version() . mysql_info() . mysql_init() . mysql_insert_id() . mysql_kill() . mysql_list_dbs() . mysql_list_fields() . mysql_list_processes() . mysql_list_tables() . mysql_num_fields() . mysql_num_rows() . mysql_options() . mysql_ping() . mysql_query() . mysql_real_connect() . mysql_real_escape_string() . mysql_real_query() . mysql_reload() . mysql_row_seek() . mysql_row_tell() . mysql_select_db() . mysql_set_server_option() . mysql_shutdown() . mysql_sqlstate() . mysql_ssl_set() . mysql_stat() . mysql_store_result() . mysql_thread_id() ->mysql_use_result() . mysql_warning_count() . mysql_commit() . mysql_rollback() . mysql_autocommit() . mysql_more_results() . mysql_next_result() |
21.2.3.57 mysql_use_result()
MYSQL_RES *mysql_use_result(MYSQL *mysql) Description Vous devez appeler mysql_store_result() ou mysql_use_result() pour chaque requête qui récupère des données avec succès ( SELECT , SHOW , DESCRIBE , EXPLAIN ).mysql_use_result() initialise un jeu de résultats mais ne l'enregistre pas dans le client comme le fait mysql_store_result() . A la place, chaque ligne doit être récupéré manuellement à l'aide de la commande mysql_fetch_row() . Cela lit le résultat directement à partir du serveur sans l'enregistrer dans une table temporaire ou un tampon local, ce qui est plus rapide et utilise moins de mémoire que mysql_store_result() . Le client n'allouera de la mémoire que pour la ligne courante et un tampon de communication qui peut aller jusqu'à max_allowed_packet octets. D'une autre côté, vous ne devez pas utiliser mysql_use_result() si vous faites beaucoup de traitements pour chaque ligne côté client, ou que le résultat est envoyé à un écran où l'utilisateur peut entrer ^S (arrêt défilement). Cela bloquera le serveur et empêchera les autres threads de mettre à jour n'importe quelle table à partir de laquelle les données sont lues.Lors de l'utilisation de mysql_use_result() , vous devez exécuter mysql_fetch_row() jusqu'à ce que NULL soit retourné, sinon, les lignes non retournée seront inclues dans le jeu de résultat de votre prochaine requête. L'API C donnera l'erreur Commands out of sync; you can't run this command now si vous oubliez de le faire ! Vous ne devez pas utiliser mysql_data_seek() , mysql_row_seek() , mysql_row_tell() , mysql_num_rows() , ou mysql_affected_rows() avec un résultat retourné par mysql_use_result() , de même, vous ne devez pas exécuter d'autres requêtes tant que la commande mysql_use_result() n'est pas terminée. (Toutefois, après avoir récupéré toutes les lignes, mysql_num_rows() retournera correctement le nombre de lignes récupérées.)Vous devez appeler mysql_free_result() lorsque vous n'avez plus besoin du jeu de résultats. Valeur de retour Une structure de résultat MYSQL_RES . NULL si une erreur survient. Erreurs
|
<< | mysql_use_result() | >> |
mysql_thread_id() | Description des fonctions de l'API C | mysql_warning_count() |