Forum Clubic

Créer une table mysql dont le nom est passé par une variable

Bonjour,

Déjà le code qui me pose problème:

[cpp]mysql_connect("$sql_serveur","$sql_login","$sql_pass") or die(mysql_errno() . ": " . mysql_error(). “\n”);
mysql_select_db(“formations”) or die(mysql_errno() . ": " . mysql_error(). “\n”);

	 $create_table = "CREATE TABLE $id_formation ('
    . ' `id` INT(5) NOT NULL AUTO_INCREMENT, '
    . ' `nom` VARCHAR(255) NOT NULL, '
    . ' `prenom` VARCHAR(255) NOT NULL, '
    . ' `notes` VARCHAR(255) NOT NULL,'
    . ' PRIMARY KEY (`id`)'
    . ' )";

$requete=mysql_query($create_table) or die(mysql_error());[/cpp]

J’inclus avant ce code le fichier qui contient les paramètres de connexion à la bdd.

Le problème: dès que je lance ce script, j’obtiens l’erreur suivante:

Erreur de syntaxe près de ‘66 (’ . ’ id INT(5) NOT NULL AUTO_INCREMENT, ’ ’ à la ligne 1

Dès que je remplace la variable $id_formation dans l’instruction create table par un nom “fixe”, l’erreur disparait.

Pourtant dans les exemples que j’ai trouvé, la syntaxe est identique.

Merci de votre aide.

fait un

echo $create_table.

tu verra ton erreur :wink:

non désolé je vois pas

tu essaies de concatener (avec . ) alors que tu n’a pas fermé la chaine

$create_table = “CREATE TABLE $id_formation (”
. ’ id INT(5) NOT NULL AUTO_INCREMENT, ’
. ’ nom VARCHAR(255) NOT NULL, ’
. ’ prenom VARCHAR(255) NOT NULL, ’
. ’ notes VARCHAR(255) NOT NULL,’
. ’ PRIMARY KEY (id)’
. " )";

merci ca marche !