Bonsoir

Alors je seche completement j'ai essaye tout ce qui etait en mon pouvoir mais voila...

J'ai un formulaire en amont pour entrer le nom du nouveau projet, le logo, et 3 categories de ce projet, tout marche, meme la creation des tables mais ca beug pour enregistrer ces 3categories dans la nouvelle table cree a cet effet

voici lerreur que ca me renvoie :

Erreur : SQLSTATE[42000]: Syntax error or access violation: 1064 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 '-categories (categ1, categ2, categ3) VALUES('hgj', 'jfdfdghj', 'fdj')' at line 1

Les values etant les valeurs que j'ai mis pour testes ma table

Voici le 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
	if(isset($_POST['lenom']))
	{
		try
		{
 
			$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
			$bdd = new PDO('mysql:host=**;dbname=**', '**', '**', $pdo_options);
 
			$req = $bdd->exec('CREATE TABLE if not exists `'.$lenom.'` (
					`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
					`article` TEXT NOT NULL ,
					`categorie` VARCHAR( 50 ) NOT NULL ,
					`date` VARCHAR( 50 ) NOT NULL
					)');
 
			echo '<h2>La table '.$lenom.' a bien été créée.</h2>';
 
			$req2 = $bdd->exec('CREATE TABLE if not exists `'.$lenom.'-produits` (
					`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
					`article` TEXT NOT NULL ,
					`titre` VARCHAR( 50 ) NOT NULL ,
					`categorie` VARCHAR( 50 ) NOT NULL ,
					`date` VARCHAR( 50 ) NOT NULL 
					)');
 
			echo '<h2>La table "produits" a bien été créée.</h2>';
 
			$req3 = $bdd->exec('CREATE TABLE if not exists `'.$lenom.'-categories` (
					`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
					`categ1` VARCHAR( 50 ) ,
					`categ2` VARCHAR( 50 ) ,
					`categ3` VARCHAR( 50 )
					)');
 
			echo '<h2>La table "categories" a bien été créée.</h2>';
 
			$req4 = $bdd->prepare('INSERT INTO '.$lenom.'-categories (categ1, categ2, categ3) VALUES(:cat1, :cat2, :cat3)');
			$req4->execute(array(
				'cat1'=> $_POST['cat1'],
				'cat2'=> $_POST['cat2'],
				'cat3'=> $_POST['cat3'],
				));	
			echo '<h2>Les categories ont bien été enregistrées</h2>';
 
		}
 
		catch(Exception $e)
		{
			die('Erreur : '.$e->getMessage());
		}
 
 
	}
Une question : mais pourquoi??????????????????? qu'est-ce que j'ai fait de mal !!!