Nie można używać symboli zastępczych w przygotowanych instrukcjach dla identyfikatorów (nazwy kolumn/tabeli/bazy danych/funkcji itp.). Możesz ich używać tylko do wartości.
CREATE TABLE noteshareproject.:title
// ^^^^^^ this will not work
Będziesz musiał ręcznie wyczyścić $title
więc może być użyty bezpośrednio w łańcuchu, jeśli chcesz to zrobić.
Zauważ też, że DDL
oświadczenie takie jak CREATE TABLE
nie można przygotować, więc nie ma sensu używać prepare()
. Równie dobrze możesz po prostu użyć query()
lub exec()
.
Zastanawiam się również, czy fakt, że w ogóle chcesz to zrobić, jest wskaźnikiem złego projektu bazy danych - jest mało prawdopodobne, aby wymaganie wielu tabel o identycznej strukturze było właściwym sposobem przechowywania twoich informacji, chociaż bez wiedzy o twojej aplikacji nie można powiedzieć na pewno.