Estuve viendo esa pagina y es muy util, hice el siguiente codigo:
#include <stdio.h>
#include <mysql/mysql.h>
int main (int argc, char *argv[]) {
dbase=mysql_init(NULL);
dbase->reconnect=1;
char *server="192.168.0.240";
char *user="root";
char *password="";
char *database="sermax";
/*printf("Como va?\n");*/
// Esta es la variable para las conexiones
MYSQL *mysql;
int result = 0;
printf("Como va?\n");
// esta funcion debe ejecutarse antes de la conexion
/*mysql_init(*mysql);*/
MYSQL *mysql_init(MYSQL *mysql);
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(mysql, "localhost", "root", "", "sermax", 3306, "/var/lib/mysql/mysql.sock", 0) ) {*/
if (!mysql_real_connect(dbase, server, user, password, database, 0, NULL, 0) ) {
/* printf("Mal rollete: %s",mysql_error(&mysql));*/
printf("\n\n Recuerda el uso es: %s host db user password\n\n",argv[0]);
return(-1);
} else {
printf("OK conexion establecida!!");
}
printf("Como fue?\n");
}
Compilo de la siguiente manera:
gcc -g -o Conectar -I'/usr/include/mysql' -L'/usr/lib/mysql' -lmysqlclient -lz -lcrypt -lnsl -lm Conectar.c
Y me tira el siguiente error:
Conectar.c: In function `main':
Conectar.c:18: error: `dbase' undeclared (first use in this function)
Conectar.c:18: error: (Each undeclared identifier is reported only once
Conectar.c:18: error: for each function it appears in.)
Si pruebo ejecutarlo me dice
SEGMENTATION FAULT
Me orientas un poco? la linea 18 es :dbase=mysql_init(NULL);
Gracias!