PDOでMYSQLデータベースを操作するときに
php
$dsn = 'mysql:dbname=データベース名;host=ホスト名;charset=utf8'; $user = 'ユーザー名'; $pass = 'パスワード'; $table = 'table_name'; try{ $pdo = new PDO($dsn, $user, $pass); //mysqlに接続 $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); //エラーを吐くようにする $sql = "CREATE TABLE IF NOT EXISTS :table ( user varchar(45) NOT NULL, email varchar(45) NOT NULL )"; //sql文を定義 $stm = $pdo->prepare($sql); //prepareする $stm->bindValue(":table", $table, PDO::PARAM_STR); //名前付きプレースホルダに変数を埋め込む $stm->execute(); //実行 } catch (PDOException $e) { print('Error:'.$e->getMessage()); die(); }
次の文はエラーを吐きました...
Error:SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ''table_name' ( user varchar(45) NOT NULL, email varchar(45) NOT NULL...' at line 1
どこをミスしたのか見直してみて、修正を重ねましたがいまだ解決に至っていません。
まだ回答がついていません
会員登録して回答してみよう