Requisitos previos:
- mysql: cliente de MySQL
- mysql-devel: Paquete de desarrollo
- mysql-server: Solo si el servidor de MysQL esta en nuestra maquina (en este ejemplo usaremos localhost)
- gcc: para poder realizar la compilación
Conectarse a Mysql desde un programa en C no es muy dificil, de hecho pareciera incluso un poco más facil que usando un programa en otro lenguaje como Java, aunque claro, si quisiera conectarme a otra base de datos seguramente necesitaria hacer muchos cambios a menos que se aplique una interfaz de acceso a datos. Pero bueno, ahí va el ejemplo:
/* Un programa muy simple para conectar a la base de datos de mysql
* Compilar usando:
* gcc -o ejecutable $(mysql_config --cflags)
programa.c $(mysql_config --libs)
* */
#include <mysql.h>
#include <stdio.h>
int main()
{
MYSQL *conn;
MYSQL_RES *res;
MYSQL_ROW row;
char *server = "localhost";
char *user = "administrador";
char *password = "soyTuPadre";
char *database = "mascotas";
conn = mysql_init(NULL); // se crea una conexion con mysql
/* Ahora se intenta una conexión real
usando los datos para autenticación */
if (!mysql_real_connect(conn, server, user, password,
database, 0, NULL, 0))
{
fprintf(stderr, "%s\n", mysql_error(conn));
return 1;
}
/* Ahora enviamos una consulta a mysql */
if (mysql_query(conn, "show tables"))
{
fprintf(stderr, "%s\n", mysql_error(conn));
return 1;
}
// recibimos el resultado en una estructura de datos.
res = mysql_use_result(conn);
/* Ahora imprimimos los resultados */
printf("Las tablas de nuestra base de datos de MySQL son:\n");
while ((row = mysql_fetch_row(res)) != NULL)
{
printf("%s \n", row[0]);
}
/* liberamos la memoria asignada a los resultados y
cerramos la conexión */
mysql_free_result(res);
mysql_close(conn);
return 0;
}
En Mysql hispano podemos encontrar el detalle de las funciones que maneja el API para el lenguaje C.
No hay comentarios:
Publicar un comentario