Mysql
 sql >> Database >  >> RDS >> Mysql

Posso creare una tabella MySQL utilizzando un'istruzione con parametri PDO?

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.