Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Posso criar uma tabela MYSQL usando uma instrução parametrizada PDO?


Você não pode usar espaços reservados em instruções preparadas para identificadores (nomes de coluna/tabela/banco de dados/função etc). Você só pode usá-los para valores.
CREATE TABLE noteshareproject.:title
//                            ^^^^^^ this will not work

Você terá que limpar manualmente $title então ele pode ser usado diretamente na string se você quiser fazer isso.

Observe também que um DDL instrução como CREATE TABLE não pode ser preparado, então não faz sentido usar prepare() . Você também pode usar query() ou exec() .

Eu também me pergunto se o fato de você querer fazer isso é um indicador de design de banco de dados ruim - é improvável que um requisito para várias tabelas de estrutura idêntica seja uma maneira adequada de armazenar suas informações, embora sem saber mais sobre seu aplicação é impossível dizer com certeza.