php中的minichat没有保存或显示任何文本等

时间:2015-10-30 09:43:05

标签: php mysql forms

嘿,我想创建一个minichat就像练习一样,但由于某种原因它A)在我点击Send并且没有返回后进入一个单独的页面而且B)没有发布任何内容也没有将任何内容保存到数据库中。 Minichat在这里形成:

 <!DOCTYPE html>
 <html>
 <head>
 <title>Mini-Chat</title>
 <meta charset="UTF-8">
 <style>
 form
 {
 text-align: center;
 }
 </style>
 <body>

 <form action="minichat-post.php" method ="post">
 <p>
    <label for="username">Username</label> : <input type="text"    name="username" id="username"/><br>
    <label for="message">Message</label> : <input type="text" name="message"    id="message"/><br>
    <input type="submit" value="Send"/>
 </p>
 </form>
 <?php
 try
 {
    $bdd = new PDO('mysql:host=localhost;dbname=minichat', 'root', '');
 }
 catch(Exception $e)
 {
    die('Error :'.$e->getMessage());
 }
 $response = $bdd->query('SELECT username, message FROM minichat ORDER BY ID    DESC LIMIT 0, 10');
 while ($data = $response->fetch())
 {
 echo '<p><strong>' . htmlspecialchars($data['username']) . '</strong> : ' .     htmlspecialchars($data['message']) . '</p>';
 }
 $response->closeCursor();
 ?>
 </body>
 </html>

这是帖子表格:

<?php
try
{
$bdd = new PDO('mysql:host=localhost;dbname=minichat', 'root', '');
}
catch(Exception $e)
{
die('Error :'.$e->getMessage());
}

$req = $bdd->prepare('INSERT INTO minichat (username, message VALUES (?, ?)');
$req->execute(array($_POST['username'], $_POST['message']));
header('Location: mini-chat.php');
?>

在我的PHP数据库中我得到了2个字段,用户名和消息,我添加了一个新的ID,但这也没有帮助。

1 个答案:

答案 0 :(得分:0)

你错过了结束&#39;)&#39;在INSERT查询中。改变这一行

$req = $bdd->prepare('INSERT INTO minichat (username, message VALUES (?, ?)');

$req = $bdd->prepare('INSERT INTO minichat (username, message) VALUES (?, ?)');