嘿,我想创建一个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,但这也没有帮助。
答案 0 :(得分:0)
你错过了结束&#39;)&#39;在INSERT查询中。改变这一行
$req = $bdd->prepare('INSERT INTO minichat (username, message VALUES (?, ?)');
到
$req = $bdd->prepare('INSERT INTO minichat (username, message) VALUES (?, ?)');