Curso de MySQL
Consultas, lista de correo 'C++ Con Clase' 'MySQL Con Clase' página de entrada Tabla de contenido Contactar con Webmaster
Curso Sentencias Funciones API C

API C

Funciones API C

mysql_affected_rows mysql_autocommit mysql_change_user mysql_character_set_name mysql_close mysql_commit 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_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_hex_string mysql_info mysql_init mysql_insert_id mysql_kill mysql_library_end mysql_library_init mysql_list_dbs mysql_list_fields mysql_list_processes mysql_list_tables mysql_more_results mysql_next_result 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_rollback 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

Tipos API C

MYSQL MYSQL_DATA MYSQL_FIELD MYSQL_RES MYSQL_ROW MYSQL_ROWS

Función mysql_fetch_row()

MYSQL_ROW mysql_fetch_row(MYSQL_RES *result);

Recupera la siguiente fila de un conjunto de resultados. Cuando se usa después de mysql_store_result, mysql_fetch_row devuelve NULL si no quedan más filas por recuperar. Cuando se usa después de mysql_use_result, mysql_fetch_row devuelve NULL si no quedan filas por recuperar o si se ha producido un error.

El número de valores en la fila viene dado por mysql_num_fields(result). Si la fila contiene el valor devuelto por una llamada a mysql_fetch_row, los punteros a los valores serán accesibles como row[0] a row[mysql_num_fields(result)-1]. Los valores NULL en la fila se indican mediante punteros nulos.

Las longitudes de los valores de los campos en la fila se pueden obtener mediante una llamada a la función mysql_fetch_lengths. Los campos vacíos y los que contengan NULL tendrán longitud 0; se pueden distinguir comprobando el puntero para el valor del campo. Si el puntero es NULL, el campo es NULL; en otro caso, el campo estará vacío.

Valores de retorno  

Una estructura MYSQL_ROW para la siguiente fila. NULL si no hay más filas para recuperar o si se ha producido un error.

Errores  

Los errores no se resetean entre sucesivas llamadas a mysql_fetch_row.

CR_SERVER_LOST: la conexión con el servidor se perdió durante la consulta.

CR_UNKNOWN_ERROR: ha ocurrido un error desconocido.

Ejemplo  

MYSQL_ROW row;
unsigned int num_fields;
unsigned int i;

num_fields = mysql_num_fields(result);
while ((row = mysql_fetch_row(result))) {
   unsigned long *lengths;
   lengths = mysql_fetch_lengths(result);
   for(i = 0; i < num_fields; i++) {
      printf("[%.*s] ", (int) lengths[i], row[i] ? row[i] : "NULL");
   }
   printf("\n");
}