PHPでSQLのCREATE文を実行したい

現在、PHPを使ってログイン機能があるWebアプリを開発中です。
ここで、ユーザの新規登録をする際、ユーザ情報を格納したテーブルに入力情報を挿入するとともに、重複不可のユーザIDを使ったテーブルを作成したいと考えています。

ユーザ情報の入力やデータベースへの接続等は問題なく動作していますが、PHPでのCREATE文が文法エラーで上手く実行されません。

何かしらの対応方法がありましたら、ご教示願います。

PHP

// POSTで受け取ったユーザIDのテーブルを作成 $statement = $pdo->prepare("CREATE TABLE ? (Date date, Time time)"); $statement->execute(array($_POST['userid']));

phpMyAdminでのSQL文を参考に、バッククォート「`」を使用して上記コードの「?」を「`?`」として実行しましたが、テーブル名がヘディングのテキスト「'テーブル名'」とシングルクォートで囲われた名前で登録されてしまいます。

他の記号でエスケープを試みましたが、バッククォート以外は文法エラーになります。
よろしくお願いします。

バージョン情報
SQL:MYSQL5.0.95
PHP:PHP7.1.x

コメントを投稿

0 コメント