No puede usar marcadores de posición en declaraciones preparadas para identificadores (columna/tabla/base de datos/nombres de funciones, etc.). Solo puedes usarlos para valores.
CREATE TABLE noteshareproject.:title
// ^^^^^^ this will not work
Deberá desinfectar manualmente $title
por lo que puede usarse directamente en la cadena si desea hacer esto.
Tenga en cuenta también que un DDL
declaración como CREATE TABLE
no se puede preparar, por lo que no tiene sentido usar prepare()
. También podría usar query()
o exec()
.
También me pregunto si el hecho de que quiera hacer esto es un indicador de un diseño deficiente de la base de datos:es poco probable que el requisito de varias tablas de estructura idéntica sea una forma adecuada de almacenar su información, aunque sin saber más sobre su aplicación es imposible decirlo con certeza.