sql >> Base de Datos >  >> RDS >> Mysql

¿Puedo crear una tabla MYSQL usando una declaración parametrizada PDO?

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.