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

Kan jeg oprette en MYSQL-tabel ved hjælp af en PDO-parameteriseret sætning?

Du kan ikke bruge pladsholdere i forberedte udsagn til identifikatorer (kolonne/tabel/database/funktionsnavne osv.). Du kan kun bruge dem til værdier.

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

Du bliver nødt til manuelt at rense $title så det kan bruges direkte i strengen, hvis du vil gøre dette.

Bemærk også, at en DDL sætning såsom CREATE TABLE kan ikke forberedes, så det nytter ikke at bruge prepare() . Du kan lige så godt bare bruge query() eller exec() .

Jeg spekulerer også på, om det faktum, at du overhovedet ønsker at gøre dette, er en indikator for dårligt databasedesign - det er usandsynligt, at et krav om flere tabeller med identisk struktur er en ordentlig måde at gemme dine oplysninger på, dog uden at vide mere om dine anvendelse er det umuligt at sige med sikkerhed.




  1. Sådan læser og fortolker du SQL-fejl

  2. Sådan fjerner du en database-mailkonto fra en profil i SQL Server (T-SQL)

  3. Opdater dublerede rækker med duplikeret fundet id

  4. Hvordan vælger jeg noget i MYSQL uden at vælge det to gange, hvis det er i rækken