|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |||
|
Membre confirmé
![]() ![]() Inscription : septembre 2003 Messages : 334 ![]() |
Bonjour,
j'ai écrit le code suivant pour créer une base de données : Code :
Citation:
Voyez-vous d'où le problème peut venir ? Merci. |
|||
|
|
00
|
|
|
#2 |
|
Membre confirmé
![]() ![]() Clément Développeur informatique Inscription : décembre 2006 Messages : 213 ![]() |
Ouais, je pense que j'ai une idée d'où peut venir le problème...
A mon avis, quand il remplace ton paramètre, il ajoute des apostrophes autour du nom de la base de données, ce qui donne : Code :
CREATE DATABASE 'test' DEFAULT CHARACTER SET utf8 Par contre, avec des antiquote, cela marcherait : Code :
CREATE DATABASE `test` DEFAULT CHARACTER SET utf8
Par contre, je sais pas quel est le meilleur moyen de faire ça avec PDO. |
|
|
00
|
|
|
#3 | ||
|
Membre confirmé
![]() ![]() Inscription : septembre 2003 Messages : 334 ![]() |
Merci pour ta réponse.
Je peux faire ça aussi : Code :
|
||
|
|
00
|
|
|
#4 |
![]() ![]() |
Ceci évitera déjà pas mal de risques je pense :
Code :
mysql_real_escpae_string($this->sNomBaseDeDonnees)
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
00
|
|
|
#5 |
|
En attente de confirmation mail
![]() Inscription : juin 2002 Messages : 6 164 ![]() |
On ne peut mélanger PDO et autres fonctions (mysql_* comme mysqli_*).
Un nom SQL (comme une table, base de données, fonctions SQL, etc) ne peut faire l'objet d'un paramètre dans une requête préparée. Au final, il faut en faire la "validation" soi-même (ctype, regexp, liste blanche - array/in_array, etc). |
|
|
00
|
|
|
#6 |
![]() ![]() |
Au fait, karl3i, pourquoi ton programme crée une base de données ?
C'est plutôt rare en principe comme besoin. Généralement, le programme utilise une BDD existante mais n'a pas à en créer, surtout qu'il faut des droits élevés sur le serveur pour ça.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
00
|
Copyright © 2000-2012 - www.developpez.com