>我已经创建了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/>';
我希望它有效地从测试的输入中获取值.php并将其存储在结果.php页面上,就像按下提交按钮时$roomId
一样。我已经让它与其他示例一起使用,但我不确定为什么它不在这里......希望我只是犯了一个简单的错误,有人可以指出来!
我知道该页面已连接到数据库,因为如果我对"结果.php进行一些评论,它会从数据库中获取信息。
如果我注释掉:
$roomId = $_POST['roomId'];
并更改:
$sql = mysql_query("SELECT * FROM forestcourt WHERE id=$roomId");
自;
$sql = mysql_query("SELECT * FROM forestcourt WHERE id=1");
结果.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);
关于结果.php。
如果有人能阐明为什么它不起作用,那就太好了。我对 MySQL 很陌生,我花了一天中的大部分时间在这个问题上!如果需要更多信息,我会尽快尝试提供。
在测试中更改method="post"
.php或者更改结果中的$roomId = $_GET['roomId'];
或$roomId = $REQUEST['roomId'];
.php
您的操作页面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'];
$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'");
你可能已经解决了,但为了其他人。
当然,表单方法必须是 POST 或 GET 相应地。