我创建了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上的输入中获取值,并在按下提交按钮时将其作为$roomId
存储在results.php页面上。我已经让它与其他例子一起工作了,但我不确定为什么它不在这里......希望我只是犯了一个简单的错误,有人可以指出它!
我知道页面已连接到数据库,因为如果我对'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);
on results.php。
如果有人能够阐明为什么它不起作用那就太好了。 我是MySQL的新手,我花了一天时间来解决这个问题!如果需要更多信息,我会尽快尝试并提供。
答案 0 :(得分:4)
您应该更改 test.php 中的method="post"
或更改 results.php中的$roomId = $_GET['roomId'];
或$roomId = $REQUEST['roomId'];
答案 1 :(得分:0)
您的操作页面为result.php
而不是results.php
,如果您希望代码能够正常运行,请将表单更改为POST
:
<Form name ="form1" Method ="post" Action ="result.php">
room number: <inpyt type = "text" Name ="roomId">
<input TYPE = "Submit" Name = "Submit" VALUE = "Go">
</FORM>
并在php中,首先检查你是否有这样的价值:
if(isset($_POST['roomId'])) $roomId = $_POST['roomId'];
答案 2 :(得分:0)
$sql = mysql_query("SELECT * FROM forestcourt WHERE id=1");
如果您希望上面的代码或$_POST['roomId'] = $roomid
之类的代码可以使用。
而不是以下内容:
$sql = mysql_query("SELECT * FROM forestcourt WHERE id='1'");
或
$sql = mysql_query("SELECT * FROM forestcourt WHERE id='$roomid'");
你可能已经解决了但是对其他人来说。
当然,form方法必须是POST或GET相应的。