Bonjour à toutes et tous,
dimanche 20h, je flanche... Après avoir passé le week-end à essayer de trouver la syntaxe qui fonctionne sans résultat, je me retourne vers vous !
Voilà le process :
En session je passe une valeur Date Horaire => OK
Je crée une table avec pour nom cette valeur => OK
J'upload un fichier Excel via un formulaire pour insérer les valeurs contenues => OK si j'insère le nom d'une table qui existe déjà, PAS OK si j'essaie d'utiliser la table créée...
J'ai essayé toutes les configurations possibles concernant les quotes et double quotes mais sans résultat, voici le code et le message d'erreur ci-dessous.
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
63
64
65
66
67
68 <?php $code = $_SESSION['code']; echo $code; switch($_REQUEST['action']) { /* LECTURE ET AJOUT DES DONNEES DANS LA TABLE */ case "ajouter": /* On ouvre le fichier à importer en lecture seulement */ if (isset($_FILES['fichier'])) { $fp = fopen($_FILES['fichier']['tmp_name'], "r"); /* on crée une nouvelle table */ $sql_query="CREATE TABLE `" . $code . "` ( `id` int(11) NOT NULL auto_increment, `email` varchar(100) NOT NULL default '', PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=latin1 "; $result_query=mysql_query($sql_query); } else { /* le fichier n'existe pas */ echo "<br />Fichier introuvable !<br /><br />Importation stoppée.<br /><br /><br /><br /><br /><br /><br />"; exit(); } while (!feof($fp)) /* Et Hop on importe */ { /* Tant qu'on n'atteint pas la fin du fichier */ $get = fgets($fp,4096); /* On lit une ligne */ $slashed=addslashes($get); $str=trim($slashed); /* On récupère les champs séparés par; dans liste*/ $ligne = explode(";",$str); /* On assigne les variables */ $email = $ligne[0]; /* Ajouter un nouvel enregistrement dans la table */ $query = "INSERT INTO " . $code . " VALUES ('', " . $email . ")"; echo $query; mysql_query($query); if(mysql_error()) { /* Erreur dans la base de donnees, sûrement la table qu'il faut créer */ print "<br />Erreur dans la base de données : ".mysql_error(); print "<br /><br />Importation stoppée.<br /><br /><br /><br /><br /><br /><br />"; exit(); } else /* Tout va bien */ print "$id --> $email <br />"; } echo "<br /><br /><b>Importation terminée, avec succès. Vous pouvez envoyer votre Ecard.</b><br /><br />"; /* Fermeture */ fclose($fp); MYSQL_CLOSE(); break; /* FORMULAIRE DE CHOIX D'IMPORTATION */ default: ?>
20131124195941
INSERT INTO 20131124195941 VALUES ('', gbazin.test@gmail.com)
Erreur dans la base de données : 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 '20131124195941 VALUES ('', gbazin.test@gmail.com)' at line 1
Importation stoppée.
Un grand merci d'avance pour votre aide et votre temps.
Gregg
Partager