CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[c] Ajouter une chaine dans une requete sql

vipera-2
vipera-2
Niveau 10
21 mars 2015 à 17:45:02

Bonjour je suis actuellement en projet.
Je dois créer une api qui contient des fonctions (ecrire et lire) de requête en mysql.
Je voudrais que le programme me demande de rentrer un nom de pseudo et que cela ajoute dans ma bdd.
C'est à ce niveau que je bloque :( .

Voici le code:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <mysql/mysql.h>
#include "APIV4.h"

 	MYSQL mysql;
	MYSQL mysql_eu;
 	MYSQL_RES *result = NULL;	//Déclaration des pointeurs de structure
 	MYSQL_ROW row = NULL;

int main(void)
	{
		int fin;
		fin = 0;
		//char rquser[100];

		while(!fin)	//menu
  		 	{
				int c;
					printf("1.Afficher le(s) utilisateur(s)\n"
						"2.Ajouter un utilisateur\n"	
						"3.Quitter\n");

			c = getchar();
				if(c != '\n' && c != EOF)
					{
						int d;

					while((d = getchar()) != '\n' && d != EOF);
						}
							switch(c)
						{
								case '1':		
									lire_pseudo("");	
								break;
 		 
								case '2':
									ecrire_pseudo("");
								break;

								case '3':
									printf("\n\n A bientôt !\n\n");
									fin = 1;
								break;
		 
							 default:
					    printf("Choix errone\n");
					      }
				   }
		 
			   return 0;
			}    


char *lire_pseudo(char *lp)
	{
			unsigned int u = 0;
			unsigned int num_champs = 0;
			char rquser[100];
		
			mysql_init(&mysql);		
			mysql_options(&mysql,MYSQL_READ_DEFAULT_GROUP,"option");
			if(mysql_real_connect(&mysql,"localhost","log","mdp","projet",0,NULL,0))
				{
					printf("--------------\n");
					printf("|id|  |pseudo|\n");
					printf("--------------\n");
					sprintf(rquser,"SELECT id_utilisateurs, pseudo FROM utilisateurs");
					mysql_query(&mysql, rquser);
					result = mysql_use_result(&mysql);
					num_champs = mysql_num_fields(result);	//On récupère le nombre de champs
					while (( row =  mysql_fetch_row(result)))
						{		   
							unsigned long *longueur;	//On déclare un pointeur pour y stocker la taille des valeurs     	   
							longueur = mysql_fetch_lengths(result);					 
							for(u = 0; u < num_champs; u++)	//On fait une boucle pour avoir la valeur de chaque champs
								{	    
					printf("[%s] ", row[u]);	//On ecrit toutes les valeurs
								}
					printf("\n\n");
						}
				}		
				mysql_close(&mysql);	
				return 0;		
	}


char *ecrire_pseudo(char *ep)
{
	unsigned int eu = 0;
	unsigned int num_champs = 0;
	char rqeuser[100];
	//char ecriture;
	
		
	mysql_init(&mysql_eu);		
	mysql_options(&mysql_eu,MYSQL_READ_DEFAULT_GROUP,"option");
		if(mysql_real_connect(&mysql_eu,"localhost","log","mdp","projet",0,NULL,0))
			{
				printf("Ajouter un pseudo: \n");				
				scanf("%s",rqeuser);
				printf(rqeuser,"INSERT INTO utilisateurs (pseudo) VALUES ('%s')");
				mysql_query(&mysql_eu, rqeuser);
				//printf(rqeuser,"Vous avez ajouté %s à la base.\n");
				result = mysql_use_result(&mysql_eu);
				num_champs = mysql_num_fields(result);	//On récupère le nombre de champs
				while (( row =  mysql_fetch_row(result)))
						{		   
							unsigned long *lengths;	//On déclare un pointeur pour y stocker la taille des valeurs     	   
							lengths = mysql_fetch_lengths(result);					 
							for(eu = 0; eu < num_champs; eu++)	//On fait une boucle pour avoir la valeur de chaque champs
								{	    									
									printf("[%s] ", row[eu]);	//On ecrit toutes les valeurs
								}
									printf("\n\n");
						}
					}	
				mysql_close(&mysql_eu);
				return 0;			
			}

et mon .h:

#ifndef __APIV4 
#define __APIV4


char *lire_pseudo(char *lp); 
char *ecrire_pseudo(char *ep);

#endif

Lorsque j'essaye d'ajouter un pseudo, je reçois un core dump comme erreur.

Merci de votre aide!

Message édité le 21 mars 2015 à 17:47:04 par vipera-2
vipera-2
vipera-2
Niveau 10
23 mars 2015 à 17:16:19

Merci de votre aide :hap:

GuklamBAN
GuklamBAN
Niveau 5
23 mars 2015 à 19:08:05

De rien :hap:

Pseudo supprimé
Pseudo supprimé 24 mars 2015 à 08:11:22

http://openclassrooms.com/courses/utiliser-l-api-mysql-dans-vos-programmes/les-requetes-attendant-un-jeu-de-resultats

~ :hap: ~

vipera-2
vipera-2
Niveau 10
25 mars 2015 à 20:08:49

Cool j'ai réussi à me débloquer :ok:

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware