Bonjour,
je cherche à me connecter à une base de données Mysql par un petit programme en C. Dans un éditeur de texte, j’ai tapé le code suivant:[code]
#include <stdio.h>
#include <mysql/mysql.h>
#include <stdlib.h>
int main(void)
{
MYSQL *mysql;
MYSQL_RES *res;
MYSQL_ROW row;
int i,j;
int n_rows=0;
mysql_init(mysql);
printf("%s %s\n",(!mysql_real_connect(mysql,“localhost”,“root”,"----",“mysql”,0,NULL,0)?"Error connection at database: ":“Connected…\n”),mysql_error(mysql));
printf(“Sélection de la base …\n”);
if (mysql_select_db(mysql,“mysql”))
{
printf(“Accès à la base impossible !\n”);
return(1);
}
printf(“Base sélectionnée.\n”);
res = mysql_list_tables(mysql, NULL);
if (res)
{
for(i = 0; i < res->row_count; i++)
{
row = mysql_fetch_row(res);
for(j = 0; j < mysql_num_fields(res); j++)
{
printf("%s\n", row[j]);
}
}
mysql_free_result(res);
}
printf("\nDeconnexion en cours …\n");
mysql_close(mysql);
printf(“Déconnecté.\n”);
return(0);
}[/code]
Après compilation voilà ce que j’obtiens :
[code]root@serveur:/home/serveur# cc essai4.c -lmysqlclient -o interface
root@serveur:/home/serveur# ./interface
Connected…
Sélection de la base …
Base sélectionnée.
columns_priv
db
func
help_category
help_keyword
help_relation
help_topic
host
proc
procs_priv
tables_priv
time_zone
time_zone_leap_second
time_zone_name
time_zone_transition
time_zone_transition_type
user
Deconnexion en cours …
Erreur de segmentation (core dumped)
[/code]
Je ne sais pas pourquoi j’ai cette erreur de segmentation !!!
Merci pour vos réponses !