php a href 显示mysql数据库中的数据并将其链接到新页面

我有一个正在运行的 php 和 mysql 搜索脚本,显示结果后用户可以单击下面的链接,它将打开一个新页面并显示更多 mysql 信息,我坚持将 ahref 链接($field2name)链接到新页面( getprofile.php)。


现在的问题是 getprofile.php 没有显示任何内容并显示 0 个结果,但是我尝试将静态数据放入 getprofile.php 它工作正常并且可以显示来自 mysql 的配置文件数据,任何人都可以告诉我缺少什么吗?


从搜索页面用户可以单击此链接:


<td><a href="getprofile.php?'.$field2name.'" target = "_blank">'.$field2name.'</td>

获取个人资料.php:


<?php

 $conn = mysqli_connect("localhost","root","password","demo");

 $pkey = mysql_real_escape_string($_GET[$field2name]);

// $pkey = "4027500001"; <-------if i put static data it can show profile data

    

  $query = "SELECT * FROM nhc WHERE code =" . $pkey;

    $result = $conn->query($query);



if ($result->num_rows > 0) {

    echo "<table border='1'><tr><th>code</th><th>Name</th><th>class</th><th>AM</th><th>May GA</th><th>June GA</th></tr>";

    // output data of each row

    while($row = $result->fetch_assoc()) {

        echo "<tr><td>".$row["code"]."</td> <td>".$row["name"]."</td> <td> ".$row["class"]."</td>  <td>".$row["am"]."</td> <td>".$row["may"]."</td><td>".$row["june"]. "</td></tr>";

  

    }

    echo "</table>";

} else {

    echo "0 results";

}

?>


梦里花落0921
浏览 113回答 2
2回答

HUX布斯

您没有在任何变量中分配 $field2name 。此外,您的报价不匹配,并且没有形成格式良好的网址<td><a&nbsp;href="getprofile.php?value=<?=$field2name?>"&nbsp;target&nbsp;=&nbsp;"_blank">'<?=$field2name?></td>现在获得价值使用$_GET['value']

四季花海

您需要为GET参数指定一个名称,以便可以在 PHP 中访问它:<td><a href="getprofile.php?code='.$field2name.'" target = "_blank">'.$field2name.'</td>然后在 PHP 中:$pkey = mysql_real_escape_string($_GET['code']);请注意,您应该使用准备好的语句来保护自己免受 SQL 注入;mysql_real_escape_string还不够(请参阅此问答)。例如:$query = "SELECT * FROM nhc WHERE code = ?";$stmt = $conn->prepare($query);$stmt->bind_param('i', $_GET['code']);$stmt->execute();$result = $stmt->get_result();
打开App,查看更多内容
随时随地看视频慕课网APP