guyom11
Messages postés2Date d'inscriptionsamedi 2 décembre 2000StatutMembreDernière intervention 5 mai 2009
-
5 mai 2009 à 12:02
guyom11
Messages postés2Date d'inscriptionsamedi 2 décembre 2000StatutMembreDernière intervention 5 mai 2009
-
5 mai 2009 à 15:14
Bonjour à tous,
Je suis confronté à un petit problème dans le cas où j'essaye de créer une table avec une variable PHP dont la valeur contient un espace ou un caractère du type "-". Par contre, si je passe le nom directement dans la requête MySQL il n'y a pas de souci. Avec le code c'est plus simple :
echo $data['Name'];
echo '
';
// creation de la base
$query = "CREATE TABLE ".$data['Name']."(
`version` VARCHAR( 15 ) NOT NULL,
`type` VARCHAR( 1 ) NOT NULL,
PRIMARY KEY (`version`)
) ENGINE = MYISAM";
Jet-Audio
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 '-Audio ( `version` VARCHAR( 15 ) NOT NULL, `type` VARCHAR( 1 )
NOT NULL,' at line 1
On voit bien qu'il y arrive pas avec le contenu de la variable vu qu'il affiche -Audio et non pas Jet-Audio. Bref et si je passe directement Jet-Audio dans la requête MySQL il n'y a pas de problème et tout fonctionne bien.
J'aimerais juste savoir comment corriger ce petit problème, si vous avez des idées je suis preneur.
alexflex25
Messages postés106Date d'inscriptionvendredi 29 septembre 2006StatutMembreDernière intervention 6 mars 2012 5 mai 2009 à 14:11
ATTENTION! c'est très très exigent:
Pour reprendre ton exemple:
$query = "CREATE TABLE `".$data['Name']."`(
`version` VARCHAR( 15 ) NOT NULL,
`type` VARCHAR( 1 ) NOT NULL,
PRIMARY KEY (`version`)
) ENGINE = MYISAM";
il faut ajouter des ` (`Alt Gr + 7`) (c'est pas des ' (4) ni des " (3) mais des ` (Alt Gr + 7) ) quand tu spécifies le nom de ta table.
Il serait préférable de spécifier le nom du schéma avant le nom de la table mais c'est un détail.
Voila.