Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Sun Microsystems annonce MySQL 5.4

Le , par toflofr

0PARTAGES

1  0 
Bonjour je dois faire un projet (sous mandrake) ou je doit piloter, enfin ecrire et lire dans une base de donnée en sql, et je dois realiser un programme en C, je compile l'exemple suivant:

Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <mysql/mysql.h>
#include <stdlib.h>

static char *server_args&#91;&#93; = &#123;
  "this_program",       /* this string is not used */
  "--datadir=.",
  "--key_buffer_size=32M"
&#125;;
static char *server_groups&#91;&#93; = &#123;
  "embedded",
  "server",
  "this_program_SERVER",
  &#40;char *&#41;NULL
&#125;;

int main&#40;void&#41; &#123;
  mysql_server_init&#40;sizeof&#40;server_args&#41; / sizeof&#40;char *&#41;,
                    server_args, server_groups&#41;;

  /* Use any MySQL API functions here */

  mysql_server_end&#40;&#41;;

  return EXIT_SUCCESS;
&#125;
et il me retourne l'erreur suivante:

Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <mysql/mysql.h>
#include <stdlib.h>

static char *server_args&#91;&#93; = &#123;
  "this_program",       /* this string is not used */
  "--datadir=.",
  "--key_buffer_size=32M"
&#125;;
static char *server_groups&#91;&#93; = &#123;
  "embedded",
  "server",
  "this_program_SERVER",
  &#40;char *&#41;NULL
&#125;;

int main&#40;void&#41; &#123;
  mysql_server_init&#40;sizeof&#40;server_args&#41; / sizeof&#40;char *&#41;,
                    server_args, server_groups&#41;;

  /* Use any MySQL API functions here */

  mysql_server_end&#40;&#41;;

  return EXIT_SUCCESS;
&#125;
Si vous avez deja eut se probleme,ou que vous connaissé sa, s'il vous plait aider moi.

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de GLDavid
Expert confirmé https://www.developpez.com
Le 29/01/2004 à 17:40
Heu, je crois que tes 2 codes sont égaux
Bon, mis à part ça, je te file l'un de mes codes lorsque je me suis initié à l'API MySQL :
Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
include <my_global.h>
#include <mysql.h>
#include <stdio.h>
#include <stdlib.h>

MYSQL *conn;

int main&#40;int argc, char**args&#41; &#123;
MYSQL *con;
MYSQL_RES *res;
MYSQL_ROW row;
unsigned int nb;
unsigned long *lengths;
unsigned int i;

conn = mysql_init&#40;NULL&#41;;
if &#40;conn==NULL&#41; &#123;
	printf &#40;"\aErreur d'initiation du client !\n"&#41;;
	exit&#40;EXIT_FAILURE&#41;;
&#125;
con = mysql_real_connect&#40;conn, NULL, "pikachu", "pokemon", "Pokemon", 3306, NULL,
0&#41;;
if &#40;con==NULL&#41; &#123;
	printf &#40;"\aErreur de connection du client !\n"&#41;;
	exit&#40;EXIT_FAILURE&#41;;
&#125;
else 
	printf &#40;"Connection établi !\nWelcome !\n"&#41;;
if&#40;mysql_query&#40;conn, "select Login from User"&#41;==0&#41; &#123;
	res = mysql_use_result&#40;conn&#41;;
	if &#40;res == NULL&#41;
		printf &#40;"\aPas de réponse !\n"&#41;;
	else &#123;
		nb = mysql_num_fields&#40;res&#41;;
		while &#40;&#40;row = mysql_fetch_row&#40;res&#41;&#41;&#41;
		&#123;
   			lengths = mysql_fetch_lengths&#40;res&#41;;
   			for&#40;i = 0; i < nb; i++&#41;
   			&#123;
       				printf&#40;"&#91;%.*s&#93; ", &#40;int&#41; lengths&#91;i&#93;, row&#91;i&#93; ? row&#91;i&#93; &#58; "NULL"&#41;;
   			&#125;
   			printf&#40;"\n"&#41;;
		&#125;
	&#125;
	mysql_free_result&#40;res&#41;;
&#125;
else
	printf &#40;"\aProblème d'interrogation !\n"&#41;;
mysql_close&#40;conn&#41;;
printf&#40;"Fermeture du client. Bye !\n"&#41;;
return 0;
&#125;
Ainsi que son makefile associé :
Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
all &#58; client

MYI = -I/usr/include/mysql
MYLIBS = -L/usr/include/mysql/ -lmysqlclient

client &#58; mysqlclient.c
	$&#40;CC&#41; -o client mysqlclient.c $&#40;MYI&#41; $&#40;MYLIBS&#41;

clean&#58;
	-rm -f *.o
En espérant t'avoir aidé,

@ ++
0  0 
Avatar de toflofr
Membre du Club https://www.developpez.com
Le 31/01/2004 à 11:29
merci beaucoup ca marche impecable.
0  0 
Avatar de GLDavid
Expert confirmé https://www.developpez.com
Le 31/01/2004 à 11:55
De nada amigo
0  0 
Avatar de Djaiii
Membre à l'essai https://www.developpez.com
Le 27/05/2008 à 11:13
Salut David,
Je veux également utiliser l'api MySQL pour controler mes bases avec du C ^^,
Je viens de voir ton programme, peut tu me le détaillé ?
De plus je n'ai pas la librarie pour ceci :
#include <my_global.h>
#include <mysql.h>

Ou est ce que je peux me la procurer?
Merci !!!

Ps : J'utilise Ubuntu
0  0 
Avatar de Djaiii
Membre à l'essai https://www.developpez.com
Le 27/05/2008 à 14:48
C'est bon j'ai trouvé la library. Par contre, j'ai voulu essayer votre programme, j'ai copier le .c, et le makefile, pour compiler, j'ai fait un make all, mais ca ne marche pas, comment faire ?

Merci
0  0 
Avatar de Djaiii
Membre à l'essai https://www.developpez.com
Le 27/05/2008 à 14:52
Cela me marque ceci quand je fait make ALL :
make: *** Pas de règle pour fabriquer la cible « mysqlclient.c », nécessaire pour « client ». Arrêt.
0  0 
Avatar de Djaiii
Membre à l'essai https://www.developpez.com
Le 27/05/2008 à 14:58
C'est bon la compilation marche, un simple make suffit... J'avais meme pas vu le Makefile...
Bon je me penche sur votre prog, si vous passez par la et me donnez quelque détails dessus, ca serait sympas ^^.Merci !!.
0  0