表单将空行插入数据库

时间:2012-10-13 18:14:33

标签: php html mysql

我见过类似的问题,但没有一个答案对我有用。我的是一个简单的表单,其中包含一些数据到数据库中,它显示在网站上的其他表格中。

但是,无论输入什么,表单都会向数据库添加一个空行。没有错误或任何东西,只是一个空行。

我有另一个表格,提交到另一个表格,完美无缺,所以我真的很困惑。

以下是表格:

<form method="GET" action="addsuggestion.php">

<label>Game Title:</label>
<input type="text" name="gamename" id="gamename" />

<br />

<label>Game Platform:</label>
<input type="text" name="gameplatform" id="gameplatform" />
<br />

<label>Suggestor Nickname:</label>
<input type="text" name="suggestor" id="suggestor" />

<input type="submit" value="sumbit" />
</form>

和addsuggestion.php

<?php
echo'<h1>Suggestion Process</h1>';

$connection = mysql_connect("removed", "removed", "removed") or die("Couldn't Connect!");
mysql_select_db("removed") or die("Couldn't find database!") ;

$gamename = $GET['gamename'];
$gameplatform = $GET['gameplatform'];
$suggestor = $GET['suggestor'];

$query = "INSERT INTO sug (gamename,gameplatform, suggestor) VALUES ('$gamename','$gameplatform','$suggestor')";

$result = mysql_query($query) or die ("Error in query");
echo'Submisson accepted, click <a href="recent.php">here</a> to check it out!';
?> 

我收到提交已接受的消息,并且在数据库中添加了一行,但它始终为空。最近的php将数据库显示为一个表,其中有一个新的空白行。

我使用的是一个id作为主键,但它是自动增量,所以我没有包含它。这是每次都包含某些内容的唯一字段。

2 个答案:

答案 0 :(得分:4)

$_GET而非$GET

$gamename = mysql_real_escape_string($_GET['gamename']);
$gameplatform = mysql_real_escape_string($_GET['gameplatform']);
$suggestor = mysql_real_escape_string($_GET['suggestor']);

答案 1 :(得分:1)

您的表单方法是“GET”。这应该是“POST”。

还有变量,更改进入$ _POST ['gamename']等。

也是区分大小写的。确保表格不是用大写字母书写的。

祝你好运!

编辑额外信息:

我们可能会说“GET”基本上只是用于获取(检索)数据,而“POST”可能涉及任何内容,例如存储或更新数据,订购产品或发送电子邮件。

来源:http://www.cs.tut.fi/~jkorpela/forms/methods.html#fund