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?
");
}
pello.io