【发布时间】:2013-09-20 00:25:18
【问题描述】:
我创建了 2 个页面。一个名为 test.php 的文件只有一些带有沼泽标准格式的 html。
<Form name ="form1" Method ="GET" Action ="result.php">
room number: <INPUT TYPE = "TEXT" Name ="roomId">
<INPUT TYPE = "Submit" Name = "Submit" VALUE = "Go">
</FORM>
还有另一个处理它的页面,称为 results.php。
$roomId = $_POST['roomId'];
$sql = mysql_query("SELECT * FROM forestcourt WHERE id=$roomId");
$id2 = 'id';
$buildingName = 'buildingName';
$subBuildings = 'subBuildings';
$imagePath = 'imagePath';
$description = 'description';
$rows2 = mysql_fetch_assoc($sql);
echo 'Name: ' . $rows2[$buildingName] . '<br/>' . 'Sub Buildings: ' . $rows2[$subBuildings] . '<br/>' . 'Description: ' . $rows2[$description] . '<br/>' . 'Location: ' . '<img src="../' . $rows2[$imagePath] . '"/>' . '<br/><br/>';
我希望它有效地做的是从 test.php 上的输入中获取值,并在按下提交按钮时将其存储在 results.php 页面上为$roomId。我已经将它与其他示例一起使用,但我不确定为什么它不在这里......希望我只是犯了一个简单的错误,有人可以指出它!
我知道该页面已连接到数据库,因为如果我对“results.php”进行一些评论,它会从数据库中获取信息。
如果我注释掉:
$roomId = $_POST['roomId'];
并改变:
$sql = mysql_query("SELECT * FROM forestcourt WHERE id=$roomId");
到;
$sql = mysql_query("SELECT * FROM forestcourt WHERE id=1");
results.php 页面上的信息与数据库中的信息相同。
当我完成这个过程时出现的一个错误是;
"警告:mysql_fetch_assoc():提供的参数不是有效的 MySQL 结果资源在 /websites/123reg/LinuxPackage23/ed/ge/_g/xxx.co.uk/public_html/testing/result.php 在第 49 行"
第 49 行将是:
$rows2 = mysql_fetch_assoc($sql);
在 results.php 上。
如果有人能解释为什么它不起作用,那就太好了。 我对 MySQL 很陌生,我花了一天中最好的时间来解决这个问题!如果需要更多信息,我会尽快尝试提供。
【问题讨论】:
-
你的表单方法是
get。您应该使用$_GET['roomId']访问超级全局变量...或将表单方法更改为post。 -
感谢汉拿吉的回答!一天的工作终于完成了!