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 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
| #include <stdio.h>
#include <stdlib.h>
#include <winsock.h>
#include "MYSQL/mysql.h"
int main(int argc, char** argv) {
MYSQL mysql; //Déclaration du pointeur de structure de type MYSQL
//Déclaration des pointeurs de structure
MYSQL_RES *result = NULL;
MYSQL_ROW *row = NULL;
unsigned int i = 0;
unsigned int num_champs = 0;
unsigned long *lengths; //On déclare un pointeur long non signé pour y stocker la taille des valeurs
/* mysql_options(MYSQL *mysql, enum mysql_option option, const char *arg);
arguments :
// * Le premier argument est le pointeur de structure que nous avons vu juste avant.
// * Le 2e argument est l'option que nous voulons configurer, nous utiliserons toujours MYSQL_READ_DEFAULT_GROUP qui lie les options spécifiées dans le fichier my.cnf.
// * Enfin le troisième argument est la valeur de cette option, donc vous pouvez mettre le nom que vous voulez.
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);
aruguments :
* Le premier argument est toujours le pointeur de structure.
* Le 2e argument est le nom de domaine ou l'adresse de votre hébergeur, dans mon cas c'estwww.goldzoneweb.info.S'il est marqué 'localhost' pour vous je vous conseille de faire comme moi et mettre l'adresse de votre hébergeur car 'localhost' engendre des erreurs.
* Le 3e argument est votre identifiant de connexion.
* Le 4e argument est votre mot de passe.
* Le 5e argument est le nom de votre base de données.
* Le 6e argument est le port, je vous conseille de mettre 0 pour éviter les erreurs.
* Le 7e argument est le socket à utiliser, je vous conseille de mettre NULL ici.
* Et le 8e argument est le flag, je conseille de mettre 0.
/^ \ Pour travailler en local (avec EasyPHP par exemple), il faut mettre localhost comme 2e argument,
/!!\ puis root en identifiant, et il faut laisser vide pour le mot de passe.
/!\
*/
mysql_init(&mysql); //Initialisation de MySQL
mysql_options(&mysql,MYSQL_READ_DEFAULT_GROUP,"option"); //Options de connexion
if(mysql_real_connect(&mysql,"localhost","root","mdp","nom_bdd",0,NULL,0)) { //Si la connexion réussie...
mysql_query(&mysql, "SELECT * FROM enseignant"); //Requête qui sélectionne tout dans ma table scores
//On met le jeu de résultat dans le pointeur result
*result = mysql_use_result(&mysql);
//On récupère le nombre de champs
num_champs = mysql_num_fields(result);
while (row = mysql_fetch_row(result)) { //Tant qu'il y a encore un résultat ...
lengths = mysql_fetch_lengths(result);//On stocke cette taille dans le pointeur
for(i = 0; i < num_champs; i++) //On fait une boucle pour avoir la valeur de chaque champs
{
printf("[%*s] ", (int) lengths[i], row[i] ? row[i] : "NULL"); //On ecrit toutes les valeurs
}
printf("\n");
}
mysql_free_result(result); //Libération du jeu de résultat
mysql_close(&mysql); //Fermeture de MySQL
}
else{
printf("Une erreur s'est produite lors de la connexion à la BDD!");
}
return 0;
} |
Partager