php - php a href 显示 mysql 数据库中的数据并将其链接到新页面
问题描述
我有一个正在运行的 php 和 mysql 搜索脚本,显示结果后用户可以单击下面的链接,它将打开一个新页面并显示更多 mysql 信息,我坚持将 ahref 链接($field2name)链接到新页面(获取配置文件.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";
}
?>
解决方案
您需要为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();
推荐阅读
- android - 如何在 Firebase 服务器中设置校验和文件以进行 Paytm 支付网关集成?
- javascript - Res.cookie vs document.cookie,它们之间在安全方面有什么优势吗?
- linux - Unity 大堂经理媒人在 Linux 服务器上不可见
- machine-learning - 如何理解多类神经网络的输出
- javascript - 全屏模式下的滚动事件
- regex - 在 Visual Studio Code 中搜索时匹配括号内的字符串
- javascript - 按钮:根据可用空间动态调整大小
- sass - SCSS 和 LESS 的区别
- asp.net - 如何解决水晶报表的最大报表处理作业限制达到错误
- php - PHP/MongoDB,无法更新集合中的记录