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_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_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_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_store_result()

MYSQL_RES *mysql_store_result(MYSQL *mysql);

Se debe usar mysql_store_result() o mysql_use_result() para cada consulta que haya recuperado datos (SELECT, SHOW, DESCRIBE, EXPLAIN, CHECK TABLE, etc).

No es necesario llamarlas para otras consultas, pero no harán ningún daño ni resultará una pérdida apreciable si se llama a mysql_store_result() en todos los casos. Se puede comprobar si la consulta no ha proporcionado resultados comprobando si mysql_store_result() devuelve cero.

Si se quiere saber si una consulta debe devolver un conjunto de resultados o no, se puede usar mysql_field_count().

mysql_store_result() lee el resultado total de una consulta al cliente, asigna una estructura MYSQL_RES y coloca el resultado en esa estructura.

mysql_store_result() devuelve un puntero nulo si la consulta no ha devuelto un conjunto de resultados (si la consulta ha sido, por ejemplo, una sentencia INSERT).

mysql_store_result() también devuelve un puntero nulo si la lectura del conjunto de resultados falla. Se puede verificar si se trata de un error comprobando si mysql_error() devuelve una cadena no vacía, si mysql_errno() devuelve un valor distinto de cero o si mysql_field_count() devuelve un valor cero.

Se obtiene un conjunto de resultados vacío si no hay filas devueltas. (No es lo mismo un conjunto de resultados vacío que un puntero nulo como valor de retorno.)

Una vez que se ha llamado a mysql_store_result() y se ha obtenido un resultado que no sea un puntero nulo, se puede llamar a mysql_num_rows() para encontrar cuántas filas hay en el conjunto de resultados.

También se puede llamar a mysql_fetch_row() para recuperar filas desde el conjunto de resultadost, o mysql_row_seek() y mysql_row_tell() para obtener o modificar la posición actual de la fila dentro del conjunto de resultados.

Se debe llamar a mysql_free_result() una vez que se ha terminado de procesar el conjunto de resultados.

A veces mysql_store_result() devuelve NULL después aunque mysql_query() regrese con éxito.

Valores de retorno  

Una estructura MYSQL_RES con los resultados o NULL si se ha producido un error.

Errores  

mysql_store_result() resetea mysql_error() y mysql_errno() si tiene éxito.

CR_COMMANDS_OUT_OF_SYNC: los comandos fueron ejecutados en un orden inapropiado.

CR_OUT_OF_MEMORY: no hay memoria.

CR_SERVER_GONE_ERROR: el servidor MySQL no está presente.

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

CR_UNKNOWN_ERROR: ha ocurrido un error desconocido.