如何显示我从地址栏中获得的字段?

时间:2014-03-25 10:20:39

标签: php

当我使用GET命令从上一页的地址栏中获取字段然后将其显示在我的表格中时,如何显示字段?

我试图在表格中显示该字段,但没有运气。该字段称为“参考”

使用下面我希望获得对表的引用。 (我尝试过以下 echo“”。$ row ['$ Reference']。“”;

http://test.com/searchresults.php?Reference=456789 $参考= $ _ GET [ '参考'];

搜索结果页

<?php

require_once('auth.php');

$host=""; // Host name 
$username=""; // Mysql username
$password=""; // Mysql password 
$db_name=""; // Database name 
$tbl_name="Physio"; // Table name 

 // Connect to server and select database.
   mysql_connect($host, $username, $password)or die("cannot connect"); 
   mysql_select_db($db_name)or die("cannot select DB");

   // get value of Reference that sent from address bar
 $Reference=$_GET['Reference'];

  $sql="SELECT * FROM $tbl_name WHERE Reference='$Reference'";
 $result=mysql_query($sql);

 $rows=mysql_fetch_array($result);

    if(!isset($_POST['postcode'])) {
  header ("location:index.php");
 } 
     echo "<p> Results </p>" ;
 $search_sql = "SELECT * FROM `Physio` WHERE Postcode like '%" . $_POST['postcode'] . "%'";
$search_query = mysql_query($search_sql);

while ($search_rs = mysql_fetch_array($search_query))
{
echo"<table><tr>" ;
     echo '<th>Reference</th><th>Select</th><th>PhysioReference</th><th>Physio</th><th>Postcode</th><th>Line1</th><th>Tel</th>';
while ($search_rs = mysql_fetch_array($search_query))
     {
     echo '<tr>';
     echo "<td>" . $row['$Reference'] . "</td>";
     echo "<td><a href=\"Physiotoinstruction.php?Reference={$search_rs['Reference']}\">Select</a></td>";
     echo "<td>".$search_rs['PhysioReference'] . "</td>";
     echo "<td>".$search_rs['Name'] . "</td>";
     echo "<td>".$search_rs['Postcode'] . "</td>";
     echo "<td>".$search_rs['Line1'] . "</td>";
     echo "<td>".$search_rs['Tel'] . "</td>";
     echo '</tr>';
     }
  echo '</table>';
}
if (!empty($search_rs))
{
echo "<p> Results Found </p>" ;
}
else
{
    echo "<p> No Results Found </p>" ;
}

   ?>

3 个答案:

答案 0 :(得分:2)

当使用单引号时,变量不会扩展,并且您也尝试访问不在范围内的名为$row的变量(即此时不存在)。以下就足够了:

$rows[$Reference]

或者在代码的前面将$rows更改为$row,无论哪种语义最有意义。

答案 1 :(得分:1)

而不是$row['$Reference']使用$row[$Reference]

除此之外不要使用mysql_ *因为它已被弃用。使用 mysqli PDO

此外,您从网络收到的转义参数。否则你很容易受到mysql注入攻击。

答案 2 :(得分:0)

您可以使用以下方法

$row["$Reference"] // with double quotes

$row[$Reference]  //no quotes

与单引号一样,它被视为字符串。

阅读this以供参考。