PHP数据库链接不起作用

时间:2011-08-31 17:01:45

标签: php mysql hyperlink

我将id从1页传递到另一页 -

        <?php
         $sql = "SELECT * FROM page";
        $result = mysql_query("SELECT * FROM page",$connection);

        $id=0;


 while($re=mysql_fetch_array($result))
      { $id++;

        echo"<a href=\"test.php?id={$id}\">{$re["name"]}'</a>'";

        }?>

并在收件人页面上使用它 -

    <?php


$ide=$_GET['id'];

 $result1 = mysql_query("SELECT * FROM page where name='ide'",$connection);

 while($re1=mysql_fetch_array($result1))
  {  
    echo $re1["name"];

    }

它在发送方正常工作..但问题是它没有在接收方显示任何东西..我测试它甚至没有进入while循环。 请帮忙吗?

3 个答案:

答案 0 :(得分:2)

<?php
$ide=$_GET['id'];

$result1 = mysql_query("SELECT * FROM page where name='$ide'",$connection);

 while($re1=mysql_fetch_array($result1))
 {  
   echo $re1["name"];
 }

我认为你只是错过了$

修改

这里的每个人都指出了另一个非常有效的问题:您的查询非常容易出现SQL注入。这是你需要注意的事情,但我不想重写你的整个PHP脚本来回答你不问的问题。相反,让我们为您提供更大的服务,并教您如何钓鱼,因为它是:

只是一个快速的网站,让您开始使用,这样您就可以锁定脚本并在以后节省一些麻烦。你会发现这种或那种方式(我们都这样做),所以请自己帮忙,看看它会发生什么。

答案 1 :(得分:2)

一旦开始删除数据库中的记录,这将会出现严重错误,因为第一个脚本中的$id变量根本与特定数据库条目无关。

如果您传递的ID存储在数据库字段name中,则应该类似于:

修改:将name更改为id以获取ID:

<?php
   $sql = "SELECT * FROM page";
   $result = mysql_query("SELECT * FROM page",$connection);

   while($re=mysql_fetch_array($result))
   {
      echo"<a href=\"test.php?id={$re["id"]}\">{$re["name"]}'</a>'";
   }
?>

<?php

  $ide = (int) $_GET['id'];    // sql injection...

  $result1 = mysql_query("SELECT * FROM page where id='{$ide}'",$connection);

  while($re1=mysql_fetch_array($result1))
  {  
    echo $re1["name"];
  }
?>

答案 2 :(得分:0)

在您的示例中,$ id只是一个计数器。我认为在您的页面表中必须已经提交了id,您必须将其发送到另一个页面。像这样。

    <?php
         $sql = "SELECT * FROM page";
        $result = mysql_query("SELECT * FROM page",$connection);

 while($re=mysql_fetch_array($result))
      { 

        echo"<a href=\"test.php?id={$re['id']}\">{$re["name"]}'</a>'";

        }?>

在页面中:

$ide=$_GET['id'];

 $result1 = mysql_query("SELECT * FROM page where id='$ide'",$connection);

 while($re1=mysql_fetch_array($result1))
  {  
    echo $re1["name"];

    }

如果我错过了,并且在您的网页中,表格ID字段不存在,那么您必须使用最近的名称来为网址而不是ID ..就像这样

     <?php
             $sql = "SELECT * FROM page";
            $result = mysql_query("SELECT * FROM page",$connection);

     while($re=mysql_fetch_array($result))
          { 

            echo"<a href=\"test.php?id={$re['name']}\">{$re["name"]}'</a>'";

            }?>

//在页面中:

    $ide=$_GET['id'];

     $result1 = mysql_query("SELECT * FROM page where name='$ide'",$connection);

     while($re1=mysql_fetch_array($result1))
      {  
        echo $re1["name"];

        }

但是如果你想使用计数器(我可以理解为什么)。您必须在限制声明中执行此操作。像这样:

    <?php
         $sql = "SELECT * FROM page";
        $result = mysql_query("SELECT * FROM page",$connection);

        $id=0;


 while($re=mysql_fetch_array($result))
      { $id++;

        echo"<a href=\"test.php?id={$id}\">{$re["name"]}'</a>'";

        }?>

//并在收件人页面上使用此功能 -         

$ide=$_GET['id'];

 $result1 = mysql_query("SELECT * FROM page LIMIT '$ide',1",$connection);

 while($re1=mysql_fetch_array($result1))
  {  
    echo $re1["name"];

    }