Vous ne pouvez pas utiliser d'espaces réservés dans les instructions préparées pour les identifiants (noms de colonne/table/base de données/fonction, etc.). Vous ne pouvez les utiliser que pour les valeurs.
CREATE TABLE noteshareproject.:title
// ^^^^^^ this will not work
Vous devrez désinfecter manuellement $title
il peut donc être utilisé directement dans la chaîne si vous le souhaitez.
Notez également qu'un DDL
instruction telle que CREATE TABLE
ne peut pas être préparé, il est donc inutile d'utiliser prepare()
. Vous pourriez tout aussi bien utiliser query()
ou exec()
.
Je me demande également si le fait que vous vouliez le faire est un indicateur d'une mauvaise conception de la base de données - il est peu probable que l'exigence de plusieurs tables de structure identique soit une bonne façon de stocker vos informations, bien que sans en savoir plus sur votre application, il est impossible de dire avec certitude.