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

my_bool mysql_change_user(MYSQL *mysql, const char *user, const char *password, const char *db)

Cambia el usuario y hace que la base de datos especificada por db sea la base de datos por defecto (la actual) en la conexión especificada por mysql. En consultas sucesivas, esta base de datos será la base de datos por defecto para referencias a tablas que no incluyan un especificador de base de datos explícito.

Esta función se añadió en MySQL 3.23.3.

mysql_change_user() falla si el usuario conectado no puede ser autentificado o si no tiene permiso para usar las base de datos. En ese caso, el usuario y la base de datos no se cambian.

El parámetro db debe ser NULL si no se quiere tener una base de datos por defecto.

A partir de MySQL 4.0.6 este comando producirá siempre un ROLLBACK en cualquier transacción activa, cierra todas las tablas temporales, desbloquea todas las tablas bloqueadas y resetea el estado como si se hubiese hecho una nueva conexión. Esto ocurrirá aunque el usuario no se cambie.

Valores de retorno  

Cero si tiene éxisto. Distinto de cero si ocurre algún error.

Errores  

Los mismos que se obtienen de la función mysql_real_connect().

CR_COMMANDS_OUT_OF_SYNC: Los comandos fueron ejecutados en un orden incorrecto.

CR_SERVER_GONE_ERROR: El servidor MySQL no está presente.

CR_SERVER_LOST: La conexión con el servidor se ha perdido durante la consulta.

CR_UNKNOWN_ERROR: Se ha producido un error desconocido.

ER_UNKNOWN_COM_ERROR: El servidor MySQL no implementa este comando (probablemente es un servidor antiguo).

ER_ACCESS_DENIED_ERROR: El usuario o la constraseña son incorrectos.

ER_BAD_DB_ERROR: La base de datos no existe.

ER_DBACCESS_DENIED_ERROR: El usuario no tiene derechos de acceso a la base de datos.

ER_WRONG_DB_NAME: El nombre de la base de datos es demasiado largo.

Ejemplo  

if (mysql_change_user(&mysql, "user", "password", "new_database"))
{
   fprintf(stderr, "Imposible cambiar de usuario.  Error: %s\n",
           mysql_error(&mysql));
}