前提・実現したいこと
最近MySQLを使い始めて戸惑っているPHP初心者です。
名前、コメント、投稿日時を表示する簡易掲示板を作っています。
HTMLのフォームに書き込まれた内容をデータベースに保存しブラウザに表示したいです。
Query関数がある2つの行で以下のエラーが発生しました。
発生している問題・エラーメッセージ
Warning: PDO::query(): SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1 in /public_html/m5/m5-01.php on line 43 Warning: PDO::query(): SQLSTATE[42S02]: Base table or view not found: 1146 Table 'DB名.m5' doesn't exist in /public_html/m5/m5-01.php on line 59
該当のソースコード
PHP
1$sql = "CREATE TABLE IF NOT EXISTS m5" 2." (" 3. "id INT AUTO_INCREMENT PRIMARY KEY," 4. "name char(32)," 5. "comment TEXT," 6. "date TEXT," 7.");"; 8$stmt = $pdo -> query($sql); 9 10if(!empty($_POST["name"]) && !empty($_POST["comment"]) && !empty($_POST["name"])){ 11 12 $sql = $pdo -> prepare("INSERT INTO m5 (name, comment, date) VALUES (:name, :comment, :date)"); 13 $sql -> bindParam(':name', $name, PDO::PARAM_STR); 14 $sql -> bindParam(':comment', $comment, PDO::PARAM_STR); 15 $sql -> bindParam(':date', $date, PDO::PARAM_STR); 16 $name = $_POST["name"]; 17 $comment = $_POST["comment"]; 18 $date = date("Y/m/d/ H:i:s"); 19 $sql -> execute(); 20} 21 22$sql = 'SELECT * FROM m5'; 23$stmt = $pdo -> query($sql); 24$results = $stmt -> fetchAll(); 25foreach ($results as $row){ 26 echo $row['id'].','; 27 echo $row['name'].','; 28 echo $row['comment'].','; 29 echo $row['date'].'<br>'; 30 echo "<hr>"; 31}
試したこと
2つ目のエラーはテーブルが見つからないとのことなので、テーブル名を確認しました。
エラーが発生している行を打ち直しました。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/10/22 01:24