Mysql
 sql >> Base de données >  >> RDS >> Mysql

Puis-je créer une table MYSQL à l'aide d'une instruction paramétrée PDO ?

Vous ne pouvez pas utiliser d'espaces réservés dans les instructions préparées pour les identifiants (noms de colonne/table/base de données/fonction, etc.). Vous ne pouvez les utiliser que pour les valeurs.

CREATE TABLE noteshareproject.:title
//                            ^^^^^^ this will not work

Vous devrez désinfecter manuellement $title il peut donc être utilisé directement dans la chaîne si vous le souhaitez.

Notez également qu'un DDL instruction telle que CREATE TABLE ne peut pas être préparé, il est donc inutile d'utiliser prepare() . Vous pourriez tout aussi bien utiliser query() ou exec() .

Je me demande également si le fait que vous vouliez le faire est un indicateur d'une mauvaise conception de la base de données - il est peu probable que l'exigence de plusieurs tables de structure identique soit une bonne façon de stocker vos informations, bien que sans en savoir plus sur votre application, il est impossible de dire avec certitude.