Php 从数据库返回特定行

Php 从数据库返回特定行,php,html,database,Php,Html,Database,我在一个页面上有多个链接,每个链接都假设从数据库返回一行特定的数据。单击链接时,用户将被转发到另一个页面,其中显示与该链接关联的信息。代码如下: //db connection: (using xampp) mysql_connect('localhost', 'root', ''); mysql_select_db('db_name'); $sql = "SELECT * FROM user_input"; $records = mysql_query($sql); //code: <

我在一个页面上有多个链接,每个链接都假设从数据库返回一行特定的数据。单击链接时,用户将被转发到另一个页面,其中显示与该链接关联的信息。代码如下:

//db connection: (using xampp)
mysql_connect('localhost', 'root', '');
mysql_select_db('db_name');
$sql = "SELECT * FROM user_input";
$records = mysql_query($sql);

//code:
<div>
$open_report = mtsql_fetch_assoc($records);
    echo "Error Report# {$open_report['id']};
    echo "<p>" .$open_report['comments'] . "</p>";
</div>

问题是它总是返回同一行数据。数据库中的每一行都与一个链接相关联,单击该链接时,我希望返回数据库中关联的数据行。我认为这可能与这一行有关:$sql=SELECT*FROM user\U input;但我不知道如何修复它。如果有人能帮忙,我们将不胜感激

我重新构造了我的答案,以使其更流畅。我还注意到您使用的是mysql,而不是mysqli。您需要使用mysqli,因为mysql已经贬值了

编辑:这将是显示所有错误报告的页面。您可能希望以超链接的形式输出它们,该超链接将GET参数传递到显示详细信息的页面

$sql = "SELECT ID, Description, etc, etc  from reports";
$open_reports = mysqli_query($sql);

//error check here as well if ANY results were returned
while($row = mysqli_fetch_array($open_reports, MYSQLI_ASSOC)) {
  echo '<a href="detailspage.php?id=' . $open_reports['ID'] . '">'' . $open_reports['Description'] . '</a>';
}

刚才看到一个输入错误:应该是:$open\u report=mysql\u fetch\u assoc$records;回显错误报告{$open_report['id']};目前,您正在从用户输入表中选择所有*列。您没有包含where条件来指定哪些行。您的链接应该包含指向的行的唯一标识符,以便您可以将其包含在SQL查询中并选择某一行。因此,当该行取决于用户单击的链接时,如何指定该行?我使用循环在一个页面上显示数据库中的一些信息。在那个页面上,我已经应用了一个链接,指向从数据库返回的所有错误报告。单击错误报告链接时,我希望在另一个页面上显示与该错误报告关联的信息。如果我为每个链接分配一个ID,我是否能够在另一个页面上引用该ID并使用您建议的查询?好的。我可以在mysql查询中包含$variable吗?是的,您可以在mysql查询中包含$variable。谢谢。我已经按照你的建议进行了修改,效果很好,但是我有一个问题。为什么选择在details.php页面上使用while循环。我的意思是我有我的假设,但我想弄清楚你为什么选择这样做。你的结果实际上是一个数组。因此,可以从数据库中返回多条记录。如果是这样,它会打印出所有的结果。
if (isset($_GET['ID'])){
  $sql = "Select * from user_input where ID='" . $_GET['id'] . "'";
  $records = mysqli_query($sql)

  while($open_report = mysqli_fetch_array($records, MYSQLI_ASSOC)) {
        echo "Error Report# " . $open_report['id'] . "<br/>";
        echo "<p>" .$open_report['comments'] . "</p>";
    }
}