前提・実現したいこと
Heroku Postgres で PHPからPDOを用いてテーブルを作成したいです。
データベースへの接続は確認できたのですが、
テーブルを作成するときに以下のエラーが発生し、対応方法が分からないです。
発生している問題・エラーメッセージ
SQLSTATE[42601]: Syntax error: 7 ERROR: syntax error at or near "(" LINE 2: id INT(11) NOT NULL serial PRIMARY KEY, ^SQLSTATE[42P01]: Undefined table: 7 ERROR: relation "user_question_history" does not exist LINE 1: INSERT INTO user_question_history (question) VALUES ($1)
該当のソースコード
$dsn = sprintf('pgsql:host=%s;dbname=%s;port=****', "*****************","****************"); $db = new PDO($dsn, "****************", "****************"); $sql = "CREATE TABLE user_question_history ( id INT(11) NOT NULL serial PRIMARY KEY, question TEXT, created_at timestamp not null default current_timestamp ) DEFAULT CHARSET=utf8"; try { $db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $db->query($sql); } catch (PDOException $e) { echo htmlspecialchars($e->getMessage(),ENT_QUOTES,'UTF-8'); } try{ $stmt = $db->prepare("INSERT INTO user_question_history (question) VALUES (:question)"); $stmt->execute(array(':question' => $question)); echo "aa"; }catch (PDOException $e) { echo htmlspecialchars($e->getMessage(),ENT_QUOTES,'UTF-8'); }
回答1件
あなたの回答
tips
プレビュー