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.