J'essaye de créer une table en utilisant PHP, PDO et MySQL. Pour les besoins de mon application, le nom de la table doit être une variable.PHP MySQL CREATE TABLE
Voici mon code:
$request = $pdo->prepare("CREATE TABLE IF NOT EXISTS :table (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`parent_id` bigint(20) unsigned NOT NULL,
`position` bigint(20) unsigned NOT NULL,
`left` bigint(20) unsigned NOT NULL,
`right` bigint(20) unsigned NOT NULL,
`level` bigint(20) unsigned NOT NULL,
`title` text CHARACTER SET utf8 COLLATE utf8_unicode_ci,
`type` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL,
`content` text CHARACTER SET utf8 COLLATE utf8_unicode_ci,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ;");
$request->execute(array(
'table'=>$uuid));
je ne peux pas utiliser ": table" dans l'instruction MySQL ?? Actuellement, je écrit:
[...]
CREATE TABLE IF NOT EXISTS `$uuid`
[...]
Cela fonctionne, mais cela semble bizarre pour moi ^^ » est-ce la seule solution à mon problème?
Quelle est la sortie de 'var_dump ($ uuid);'? – rekire
Que se passe-t-il lorsque vous essayez d'exécuter la version avec: table? – DWright
@rekire $ uuid contient le résultat de uniqid ("", true) que j'utilise pour générer des ID aléatoires – FWoelffel