salut, voici mon code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
 
using namespace std;
 
int main()
{
string bd_defaut,serveur,utilisateur,mdp,bd_add;
int choix;
 
 
do
	{
	cout<<"Base de données par défaut:"<<endl;
	getline(cin,bd_defaut);
	cout<<"Serveur:"<<endl;
	getline(cin,serveur);
	cout<<"Utilisateur:"<<endl;
	getline(cin,utilisateur);
	cout<<"Mot de passe:"<<endl;
	getline(cin,mdp);
	}
while(utilisateur=="");
 
try
	{
	mysqlpp::Connection session(bd_defaut.c_str(),serveur.c_str(),utilisateur.c_str(),mdp.c_str());
 
	cout<<"Menu:"<<endl;
	cout<<"1. créer une base de données"<<endl;
	cout<<"2. créer une table"<<endl;
	cout<<"3. lire une table"<<endl;
	cin>>choix;
	if(choix==1)
		{
		cout<<"Entrer le nom de la base de données"<<endl;
		getline(cin,bd_add);
		session.create_db(bd_add.c_str());
		}
	else
		{
		if(choix==2)
			{
			cout<<"Entrer nom de la table"<<endl;
			}
		else
			{
			}
		}
	session.close();
	}
catch(mysqlpp::BadQuery e)
	{
	cerr<<"Error "<<e.what()<<endl;
    return 1;
	}
catch (mysqlpp::Exception e)
	{
    cerr<<"General error : "<<e.what()<<endl;
    return 1;
	}
 
return 0;
}
le programme compile sans erreur... mais à l'exécution après la ligne "Entrer le nom de la base de données" qui s'affiche correctement il s'affiche une erreur la voici:

Error You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

Si je met la ligne session.create_db(bd_add.c_str()); en commentaire je n'ai plus cette erreur mais à la place je ne peut pas rentrer de nom pour la variable juste au dessus.

Que faire? merci