

３４行目の INSERT INTO の部分でエラーメッセージがあるのですが、分かりません。  
他の箇所がおかしいのかもです。

エラーメッセージ

[code]

    Parse error: syntax error, unexpected variable "$sql" in C:\xampp\htdocs\php\chat2\index.php on line 34
    
[/code]

ソースは

[code]

    <html lang="ja">
    <head>
    <meta charset="utf-8">
    <title>入力フォーム</title>
    </head>
    <body>
    <form method="POST" action="">
    名前 <input name="name" type="text">
    出身 <input name="text" type="text">
    <input type="submit" value="送信">
    </form>
    
    <?php
    
    $dsn = 'mysql:dbname=chatlog;host=localhost';
    $user = 'testuser';
    $password = 'yasushi';
    
    try {
    $dbh = new PDO($dsn, $user, $password);
    echo "接続成功\n";
    }
    
    
    catch (PDOException $e) {
    echo "接続失敗: " . $e->getMessage() . "\n";
    exit();
    }
    
    $name = $_POST['name'];
    $log = $_POST['text']
    
    // SQL作成
    $sql = "INSERT INTO chatlog (id, name, log) VALUES (null, '$name', '$log')";
    
    // SQL実行
    $res = $dbh->query($sql);
    
    
    $data = "SELECT * from chatlog";
    
    $stmt = $dbh->query($data);
    $result = $stmt->fetchAll();
    
    
    $stmt = $dbh->query($data);
    $log_result = $stmt->fetchAll();
    
    
    
    $i = 0;
    while($i <30){
    $i++;
    echo('名前:');
    print_r ($result[$i][1]);
    
    echo('会話:');
    print_r($log_result[$i][2]);
    echo '<br>';
    }
    
    
    
    $dbh = null;
    
    
    ?>
    
    
    </body>
    </html>
    
[/code]

３４行目は  
`$sql = "INSERT INTO chatlog (id, name, log) VALUES (null, '$name', '$log')";`
の部分です。

よろしくお願いします。


CC BY-SA 4.0
2021-01-04T02:45:15.457
73055
2021-01-04T05:43:58.183
2021-01-04T03:39:24.433
3060
43400
question
php
PHP： INSERT INTO の行でエラーが出ていて解決できません


OOPerさんが指摘されていますが、エラーが発生する行の２行上にある

[code]

    g = $_POST['text']
    
[/code]

を、

[code]

    g = $_POST['text'];
    
[/code]

にすれば解決すると思いますよ。  
行末のセミコロンが無いのが原因ですから。


CC BY-SA 4.0
2021-01-04T05:43:58.183
73058
2021-01-04T05:43:58.183
217
73055
answer