U kunt geen tijdelijke aanduidingen gebruiken in voorbereide instructies voor identifiers (kolom-/tabel-/database-/functienamen enz.). Je kunt ze alleen voor waarden gebruiken.
CREATE TABLE noteshareproject.:title
// ^^^^^^ this will not work
U moet $title
handmatig opschonen dus het kan direct in de string worden gebruikt als je dit wilt doen.
Merk ook op dat een DDL
instructie zoals CREATE TABLE
kan niet worden voorbereid, dus het heeft geen zin om prepare()
. te gebruiken . Je kunt net zo goed query()
gebruiken
of exec()
.
Ik vraag me ook af of het feit dat u dit überhaupt wilt doen een aanwijzing is voor een slecht databaseontwerp - het is onwaarschijnlijk dat een vereiste voor meerdere tabellen met een identieke structuur een goede manier is om uw informatie op te slaan, hoewel zonder meer te weten over uw toepassing is het onmogelijk met zekerheid te zeggen.