【发布时间】:2011-11-09 11:13:11
【问题描述】:
请帮忙,我正在用 PHP 编写一个页面,用户选择一个主题,单击链接并被定向到一个可以评论的页面。用户使用一个小表单来评论一个主题。我正在尝试将表单提交到同一页面。这样用户提交的评论就会立即显示出来。我正在使用 GET 方法发送带有表单的变量,但我得到: 数据库查询失败:您的 SQL 语法有错误;查看与您的 MySQL 服务器版本相对应的手册,了解在第 1 行的 '' 附近使用的正确语法,
但它正在写入我的数据库,只是不显示数据
这是我的代码(在头部之前):
<?php
// GET subject_id from previous page and see if it has been set
if (isset($_GET['subj'])) {
subject_id = $_GET['subj'];
} else {
$subject_id = NULL;
}
// process form that was submitted to same page
if (isset($_POST['submit'])) {
$subject_id = mysql_prep($_GET['subj']);
$commentbox = trim(mysql_prep($_POST['commentbox']));
$query = "INSERT INTO comments (
subject_id, content
) VALUES (
{$subject_id}, '{$commentbox}'
)";
if ($result = mysql_query($query, $connection)) {
// as is, $message will still be discarded on the redirect
$message = "The page was successfully created.";
redirect_to("blog_subject.php");
} else {
$message = "The page was unsuccessfully created.";
redirect_to("blog_subject.php");
}
}
?>
......然后是显示主题、cmets和表单的代码......
<?php
// Retrieving Subject Name from subjects database
global $connection;
if (isset($_GET['subj'])) {$subject_id = $_GET['subj'];}
$query = "SELECT * FROM subjects WHERE subject_id = {$subject_id}";
$result_set = mysql_query($query, $connection);
if (!$result_set) {die("Database query Failed: " . mysql_error());}
if ($subject_set = mysql_fetch_array($result_set)) {
echo $subject_set['subject_name'];
} else {
return NULL;
}
?>
<br />
<?php
// Retrieving Comments from comments database
global $connection;
$subject_id = $_GET['subj'];
$comment_set = mysql_query("SELECT * FROM comments WHERE subject_id =
{$subject_id}", $connection);
if (!$comment_set) {
die("Database query Failed: " . mysql_error());
}
echo "<ul class=\"pages\">";
while ($comment_for_subject = mysql_fetch_array($comment_set)) {
echo "<li>{$comment_for_subject["content"]}</li>";
}
echo "</ul>";
?>
<br />
<form action="blog_subject.php?subj=<?php echo $subject_id_van_vorige_bladsy; ?>"
method="post">
<textarea name="commentbox" cols="100" rows="10"></textarea><br />
<input name="submit" type="submit">
</form>
【问题讨论】:
标签: php database forms variables