Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php a href显示mysql数据库中的数据并将其链接到新页面_Php_Mysql - Fatal编程技术网

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

php a href显示mysql数据库中的数据并将其链接到新页面,php,mysql,Php,Mysql,我有一个php&mysql搜索脚本正在运行,在结果显示后,用户可以单击下面的链接,它将打开一个新页面并显示更多mysql信息,我一直在将ahref链接$field2name链接到新页面getprofile.php 现在的问题是getprofile.php没有显示任何内容,显示0个结果,但是我尝试将静态数据放入getprofile.php,它工作正常,可以显示来自mysql的配置文件数据,有人能告诉我缺少什么吗 从搜索页面,用户可以单击此链接: <td><a href="

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

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

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

<td><a href="getprofile.php?'.$field2name.'" target = "_blank">'.$field2name.'</td>
getprofile.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>
注意,您应该使用准备好的语句来保护自己不受SQL注入的影响;mysql\u real\u escape\u字符串不够,请参见。例如:

$query = "SELECT * FROM nhc WHERE code = ?";
$stmt = $conn->prepare($query);
$stmt->bind_param('i', $_GET['code']);
$stmt->execute();
$result = $stmt->get_result();

您没有在任何变量中分配$field2name。此外,您的报价不匹配,无法形成格式良好的url

<td><a href="getprofile.php?value=<?=$field2name?>" target = "_blank">'<?=$field2name?></td>
现在来获取值
使用$\u GET['value']

mysql\u real\u escape\u字符串为非-existent@Dharman它仍然存在于PHP5.x及以下版本中。不管怎样,我试着用正确的方式做事情,但没有用。。。
<td><a href="getprofile.php?value=<?=$field2name?>" target = "_blank">'<?=$field2name?></td>