識別子(列/テーブル/データベース/関数名など)のプリペアドステートメントでプレースホルダーを使用することはできません。値にのみ使用できます。
CREATE TABLE noteshareproject.:title
// ^^^^^^ this will not work
$title
を手動でサニタイズする必要があります したがって、これを実行する場合は、文字列で直接使用できます。
DDL
にも注意してください。 CREATE TABLE
などのステートメント 準備できないため、prepare()
を使用しても意味がありません 。 query()
を使用することもできます。
またはexec()
。
また、これを実行したいという事実が、データベース設計が不十分であることを示しているのではないかと思います。同じ構造の複数のテーブルの要件が、情報を格納するための適切な方法である可能性は低いですが、アプリケーションを確実に言うことは不可能です。