Création d'une table avec php dont le nom est dans une $

WRInaute discret
Bonjour,

Je crée une table avec php de la manière suivante :
Code:
mysql_query("CREATE TABLE mon_titre
(
login text NOT NULL,
departement text NOT NULL,
pays text NOT NULL,
region text NOT NULL,
nom_departement text NOT NULL,
ville text NOT NULL,
)") or die(mysql_error());

ce qui marche bien.

Maintenant je veux créer cette table avec un nom qui est contenue dans une variable
Code:
$titre = "mon_titre";

mysql_query("CREATE TABLE "$titre"
(
login text NOT NULL,
departement text NOT NULL,
pays text NOT NULL,
region text NOT NULL,
nom_departement text NOT NULL,
ville text NOT NULL,
)") or die(mysql_error());

le message d'erreur est :

Parse error: syntax error, unexpected T_VARIABLE in xx/xxx...

J'ai essayé également :
Code:
$titre = "mon_titre";

mysql_query("CREATE TABLE $titre
(
login text NOT NULL,
departement text NOT NULL,
pays text NOT NULL,
region text NOT NULL,
nom_departement text NOT NULL,
ville text NOT NULL,
)") or die(mysql_error());

le message d'erreur est :

You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version

Quelqu'un voit-il mon erreur.

Merci
 
WRInaute accro
faudrait revoir les bases du php: la concaténation :)

Code:
$titre = "mon_titre";

mysql_query("CREATE TABLE ".$titre."
(
login text NOT NULL,
departement text NOT NULL,
pays text NOT NULL,
region text NOT NULL,
nom_departement text NOT NULL,
ville text NOT NULL
)") or die(mysql_error());

Et pas de virgule pour la dernière colonne à mon avis
 
WRInaute discret
Code:
$titre = "mon_titre";

mysql_query("CREATE TABLE ".$titre."
(
login text NOT NULL,
departement text NOT NULL,
pays text NOT NULL,
region text NOT NULL,
nom_departement text NOT NULL,
ville text NOT NULL
)") or die(mysql_error());
Fonctionne bien.

Merci

PS: Promis, je revois ma concaténation.
 
WRInaute discret
Code:
$titre = "mon_titre"; 

mysql_query("CREATE TABLE $titre
( 
login text NOT NULL, 
departement text NOT NULL, 
pays text NOT NULL, 
region text NOT NULL, 
nom_departement text NOT NULL, 
ville text NOT NULL 
)") or die(mysql_error());
Ca doit marcher ça aussi :wink:
 
WRInaute accro
Oui bidulemachin, à la différence que c'est moins optimisé et plus lent :)

Avec la concaténation, tu mâches un peu le travail. Dans la tienne, il doit d'abord retrouver les variables.
 
Discussions similaires
Haut