PHP a href 显示来自 MySQL 数据库的数据并将其链接到新页面



我有一个 php 和 mysql 搜索脚本正在工作,显示结果后用户可以单击下面的链接,它将打开一个新页面并显示更多 mysql 信息,我坚持将 ahref 链接($field 2name(链接到新页面(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";
}
?>

您没有在任何变量中分配 $field 2name。此外,您的报价不匹配,没有形成格式良好的网址

<td><a href="getprofile.php?value=<?=$field2name?>" target = "_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();

最新更新