从具有Id的URL的数据库中选择数据

时间:2015-07-23 09:54:31

标签: php mysql

我的数据库看起来像这样

|ID | Name         |  
|081| John Davidson|  

我有" index.php"在我的网站上,我已经了解了php表单,使用方法get,并且url更改为index.php?id = 081

<form action="index.php" method="get">
<input name="id" value="081"/>
<input type="submit" value="Submit"/></form>  

当页面加载时我想从我的数据库中显示id 081的名称,该怎么做?

2 个答案:

答案 0 :(得分:1)

提交后,您将通过url将带有GET的id值发送到index.php。 您可以使用$ _GET ['id']捕获它,并将其存储在数据库中,如下所示:

$sql="INSERT INTO table SET id='".$_GET['id']."'";
$query=mysqli_query($connection,$sql);

如果要从数据库中检索此值,可以这样做:

$sql="SELECT id FROM table";
$query=mysqli_query($connection,$sql);

$row=mysqli_fetch_array($query);
echo $row['id'];

更新正如Abhik所说,这些陈述非常容易受到攻击,您应该了解如何使用准备好的陈述here

避免sql注入的另一种简单方法,因为很明显你是php的新手,是使用POST方法代替GET,并使用这个小函数检查用户输入:

function test_input($data){
    $data=htmlentities($data);
    $data=stripslashes($data);
    $data=trim($data);
    return $data;
}

$id=test_input($_POST['id']);

当然,根据字段类型,必须有一些验证,如最小,最大长度,允许的字符等。

答案 1 :(得分:1)

试试这个,

//Your index.php file

    if($_GET['id']){
       $id = $_GET['id'];
       $sql="SELECT * FROM tableName where id='$id'";
       $data = mysql_query($sql);
       $row = mysql_fetch_array($data);
       echo $row['name'];

    }
    <form action="index.php" method="get">
    <input name="id" value="081"/>
    <input type="submit" value="Submit"/></form>