Ejemplo libmysqlclient
Ejemplo de acceso a mysql desde c
Necesitaremos tener instalado el mysql-devel o libmysql para poder hacer que nuestro codigo C acceda a mysql. Ademas de eso debemos establecer con cuidado las opciones de compilacion:
Si tenemos alguna duda podemos ejecutar mysql_config y este nos dira los parametros que necesitamos. Veamos el "hello_world" del acceso a mysql.
Necesitaremos tener instalado el mysql-devel o libmysql para poder hacer que nuestro codigo C acceda a mysql. Ademas de eso debemos establecer con cuidado las opciones de compilacion:
Si tenemos alguna duda podemos ejecutar mysql_config y este nos dira los parametros que necesitamos. Veamos el "hello_world" del acceso a mysql.
/** * mysql_basico.c * ejemplo de uso de libmysqlclient * Necesitamos tener instalado el libmysqlclient * * USO: ./mysql_basico host db user password * NOTA: NO se hace comprobacion de argumentos!! * * Compilacion: gcc -o mysql_basico -I'/usr/include/mysql' -L'/usr/lib/mysql' * -lmysqlclient -lz -lcrypt -lnsl -lm mysql_basico.c */ #include <stdio.h> #include <mysql.h> int main (int argc, char *argv[]) { // Esta es la variable para las conexiones MYSQL conexion; int result = 0; // esta funcion debe ejecutarse antes de la conexion mysql_init(&conexion); printf("Vamos a ver si nos conectamos a %s",argv[1]); // usamos mysql_real_connect (mysql_connect esta en desuso) // Esta es la definicion de la funcion: //MYSQL *mysql_real_connect(MYSQL *mysql, const char *host, const char *user, const char *passwd, const char *db, //unsigned int port, const char *unix_socket, unsigned long client_flag) // Los flags de cliente pueden verse en la documentacion, para este ejemplo basta con 0 if (!mysql_real_connect(&conexion, argv[1], argv[3], argv[4], argv[2], 3306, "/var/lib/mysql/mysql.sock", 0) ) { printf("Mal rollete: %s",mysql_error(&conexion)); printf(" Recuerda el uso es: %s host db user password ",argv[0]); return(-1); } else { printf("OK conexion establecida!!"); } printf("Como fue? "); }