[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [linux] MySQL et C



Le Mardi 14 Août 2001 08:39, vous avez écrit :
> Un peu de lecture :
>
> Brian W. Kernighan, Dennis M. Ritchie, The C Programming Language,
> Prentice Hall, 1988, second edition. Version en français chez Masson.
>
> Un petit cours online : http://www-igm.univ-mlv.fr/~mac/ENS/C.html
>
> Les concepts importants sont les pointeurs, les types de données.
>
> Pour MySQL, il y a plusieurs informations dans les structures standards
> MySQL (comme MYSQL, MYSQL_RES). MYSQL_RES est très pratique puisque c'est
> une structure qui contient toutes les infos de retour de ta requete SQL.
>
> Je te conseille aussi de lire la doc sur l'API MYSQL, par exemple, dans tu
> fais une  requetes SQL mais tu ne termines pas un null-byte (\0). Il faut
> tjs terminer par un null-byte avec cette fonction sinon il ne connait pas
> la fin de la requete.
>
> Dans ton "exemple", tu aurais du faire un truc du genre
> /* n'oublie pas les includes standard et mysql*/
> ....
> #include "mysql.h"
>
> /* static */
> char request_buffer[255];
> MYSQL *sock,mysql,
>
> /* Te connecter à la DB et tjs TESTER si cela fonctionne*/
> if( !(sock = mysql_connect( &mysql, "localhost", "nobody", "mmmmpassword"))
> ) {
>      fprintf( stderr, "Couldn't connect to engine!\n%s\n\n", mysql_error(
> &mysql ) ); exit(1);
> }
>

/* ça je l'avais déjà fait... */

> /* La bonne db */
> if( mysql_select_db( sock, "test" ) )
>  {
>  fprintf( stderr, "Couldn't select db test!\n%s\n", mysql_error( sock ) );
>                         exit(1);
>  }

/* ça aussi je l'avais fait... */

> sprintf( request_buffer, "select * from magrossetable\0");
>
>
> ensuite seulement tu peux faire ton mysqlquery mysql_query (sock,
> request_buffer)
>
> La meilleur solution est de lire la doc MySQL, d'avoir une bonne base en C
> et connaitre un peu SQL.
>
Ma bonne base en C commence à dater (oubli impardonnable d'initialisation de 
pointeurs et d'un malloc).
Connaître un peu SQL, ben justement c'est ce que je suis occupé à apprendre, 
et donc voila pourquoi je fais tant d'erreurs grossières (j'ai pas de prof 
moi, alors évidemment...)
En tous cas merci à tous pour vos conseils.

> hope this helps
>
> alx
This helps, thank's :o)

Marc

[ Soyez précis dans vos sujets svp afin de déterminer directement  ]
[ le type de demande...                                            ]
[ Pour vous (dés)inscrire, aller sur http://linuxbe.org/ml.php     ]
[ Archives de la mailing list: http://archives.linuxbe.org/linux/  ]
[ http://LinuxBe.org              Contact: listmaster@linuxbe.org  ]