[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 ]