我在使用时遇到了一个错误——我认为是问题所在,mysql_fetch_assoc。
<?php
$buildingNames = $_POST['buildingName'];
$roomId = $_POST['roomId'];
$sql = mysql_query("SELECT *
FROM forestcourt
WHERE buildingName=$buildingNames AND
id=$roomId");
$id2 = 'id';
$buildingName = 'buildingName';
$subBuildings = 'subBuildings';
$imagePath = 'imagePath';
$description = 'description';
$rows2 = mysql_fetch_assoc($sql);
echo 'Name: ' . $rows2[$buildingName] . '<br/>' . 'Room Number: ' . $rows2[$id2]
. '<br/>' . 'Sub Buildings: ' . $rows2[$subBuildings] . '<br/>'
. 'Description: ' . $rows2[$description] . '<br/>' . 'Location: '
. '<img src="../' . $rows2[$imagePath] . '"/>' . '<br/><br/>';
?>
上面的代码是我用来从之前的页面获取表单数据的代码;
<Form name ="form1" Method ="POST" Action ="result.php">
Building Name: <INPUT TYPE = "TEXT" Name ="buildingName">
Room Number: <INPUT TYPE = "TEXT" Name ="roomId">
<INPUT TYPE = "Submit" Name = "Submit" VALUE = "Go">
</FORM>
该站点的目的是使用表单中的 $_POST 并使用 FORM ACTION 属性将其发送到 results.php 页面。
但是,当它运行时会出现错误提示;
警告:mysql_fetch_assoc():提供的参数不是第 52 行 /websites/123reg/LinuxPackage23/ed/ge/_g/xxx.co.uk/public_html/testing/result.php 中的有效 MySQL 结果资源
第 52 行是;
$rows2 = mysql_fetch_assoc($sql);
指的是;
$sql = mysql_query("SELECT *
FROM forestcourt
WHERE buildingName=$buildingNames AND
id=$roomId");
所以我认为我的 SELECT 语句有问题?
我对 SQL 很陌生,所以我看不出它有什么问题。
数据库已连接并确实从表中获取结果。字段的名称也正确。
如果有人能指出任何事情或提供帮助,那就太好了。