我有一个正在运行的 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";}?>
2 回答
HUX布斯
TA贡献1876条经验 获得超6个赞
您没有在任何变量中分配 $field2name 。此外,您的报价不匹配,并且没有形成格式良好的网址
<td><a href="getprofile.php?value=<?=$field2name?>" target = "_blank">'<?=$field2name?></td>
现在获得价值使用$_GET['value']
四季花海
TA贡献1811条经验 获得超5个赞
您需要为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();
- 2 回答
- 0 关注
- 111 浏览
添加回答
举报
0/150
提交
取消