使用$ _GET将数据发布到数据库中

时间:2013-12-06 03:05:45

标签: php html mysql

url - addreview.php?name = mercury

这就是表格的样子

<form action="addreviewaction.php" method="post" name="addReview">
<textarea name="content" cols="45" rows="7"></textarea>
<input type="hidden" name="clubname" value="<?php echo $_GET['name']; ?>" />
<input type="submit" value="Submit">
</form>

我正在尝试使用此

将数据发布到数据库中
<?php

$tbl_name="reviews"; // Switch to table "reviews"

// get data thats sent from the form 
$content=$_POST['content'];
$clubname=$_POST['clubname'];

$sql="INSERT INTO $tbl_name(content, clubname)VALUES('$content','$clubname')";
$result=mysql_query($sql);
?>

但是我收到的错误是它没有插入数据库中。我该如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

你的SQL错了。 *“INSERT INTO $ tbl_name2(内容,俱乐部名称,名字)VALUES('$ content','$ clubname')*

您提供了3个列名称(内容,俱乐部名称,名字),但仅输入2列(内容,俱乐部名称)的值。缺少“名字”的值。

由于

答案 1 :(得分:0)

假设您实际上是发布到此文件并且您已连接到数据库...

$sql2="INSERT INTO $tbl_name (`content`, `clubname`) VALUES ('$content','$clubname')";

您从未定义过firstname,但是您希望它插入它,然后不指定要插入的内容。不匹配的期望会出错。

你在这里没有逃避任何事情。 sql注射广泛开放。切换到mysqli或PDO并使用预准备语句。不推荐使用mysql_函数。