MySQL中的表单没有显示结果?

时间:2013-01-02 06:22:35

标签: php html forms url isset

我正在尝试创建一个表单,在提交时将通过MySQL运行查询。但是,当我测试它时,没有任何反应,但我没有收到任何错误。我在同一页面上有另一个不同的格式。

这是php位:     

if(isset($_POST['submit']))
{
$owner = $_POST['id'];

$get = @mysql_query("SELECT * FROM wolves WHERE name = '$owner'");
$result = mysql_fetch_assoc($get);
echo $result['name'];

}

以下是表格:

<?php
echo 
"
<form action=test.php name=form2>
Id: <select name='id'>
";
while ($own = mysql_fetch_array($query)) 
{
echo "<option value='" . $own['name'] . "'>" . $own['name'] . "</option>";
}
echo "</select><input type=submit name=submit value=Submit!></form>";
?> 

提交表单时,URL中会显示正确的值,但php似乎根本不起作用。我做错了什么?

4 个答案:

答案 0 :(得分:1)

以表格形式发布的第一个提及方法

检查表单是否提交到预期的循环内,

然后请在表单提交循环中使用while循环来获取您的预期值,如下所示,

if(isset($_POST['submit']))
{
    $owner = $_POST['id'];    
    $get = @mysql_query("SELECT * FROM wolves WHERE name = '$owner'");
    while($result = mysql_fetch_assoc($get)) {
        echo $result['name'];
    }    
}

答案 1 :(得分:0)

  

提交表单时,URL中会显示正确的值

表示通过网址传递的数据,您可以通过GET方法获取,否则提及post作为表单中的方法

<form action=test.php name=form2 method=post>

答案 2 :(得分:0)

您尚未为表单设置method。这意味着将使用get方法将值发送到服务器。在php中,您可以使用$_GET 超级全局访问这些变量。

您所做的是,使用get方法提交表单并尝试使用$_POST superglobal 访问这些值,该值为空,且您的服务器为{返回false {1}}。

将表单的if(isset($_POST['submit']))更改为method,然后重新运行代码。

答案 3 :(得分:0)

您必须以表格

method="post"
<form action="test.php" name="form2" method="post">