Non è possibile utilizzare i segnaposto nelle istruzioni preparate per gli identificatori (colonna/tabella/database/nomi di funzione ecc.). Puoi usarli solo per i valori.
CREATE TABLE noteshareproject.:title
// ^^^^^^ this will not work
Dovrai disinfettare manualmente $title
quindi può essere utilizzato direttamente nella stringa se vuoi farlo.
Si noti inoltre che un DDL
istruzione come CREATE TABLE
non può essere preparato, quindi non ha senso usare prepare()
. Potresti anche usare query()
o exec()
.
Mi chiedo anche se il fatto che tu voglia farlo sia un indicatore di una cattiva progettazione del database:è improbabile che la richiesta di più tabelle di struttura identica sia un modo corretto per archiviare le tue informazioni, anche se senza sapere di più sul tuo applicazione è impossibile dirlo con certezza.