Bonjour,
j'ai écrit le code suivant pour créer une base de données :
J'obtiens le message d'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 try { $oPdo = new PDO('mysql:host=localhost', 'root', '', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION) ); $sRequete = "CREATE DATABASE :sBaseName DEFAULT CHARACTER SET utf8"; $oPrepared = $oPdo->prepare($sRequete); echo $oPrepared->queryString; // afficher requête $oPrepared->execute(array("sBaseName" => "test")); } catch(Exception $e) { throw new creationbasededonneesException($e->getMessage()); }
A noter que si j'enlève la variable "sBaseName" de la requête préparée et que je mets directement un nom de base (par exemple : "toto"), la base est bien créée.CREATE DATABASE ':sBaseName' DEFAULT CHARACTER SET utf8Erreur : 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 '':sBaseName' DEFAULT CHARACTER SET utf8' at line 1
Voyez-vous d'où le problème peut venir ?
Merci.
Partager