如何从URL获得价值

时间:2013-09-22 13:25:49

标签: php mysql database url

我希望从URL获取值,以便按ID从数据库中选择数据。我想要id的价值。

例如,如果我打开www.example.com/index.php?id=12
我想获得数据库中id = 12的值。

如果我打开www.example.com/index.php?id=7
获取数据库中id = 7的值,依此类推。

我有一些代码:

$results = mysql_query("SELECT * FROM next WHERE id=$id");    
while ($row = mysql_fetch_array($results))     
{       
    $url = $row['url'];
    echo $url;    
}

5 个答案:

答案 0 :(得分:13)

网站网址:

http://www.example.com/?id=2

代码:

$id = intval($_GET['id']);
$results = mysql_query("SELECT * FROM next WHERE id=$id");    
while ($row = mysql_fetch_array($results))     
{       
    $url = $row['url'];
    echo $url; //Outputs: 2
}

答案 1 :(得分:7)

在PHP中有两种从URL获取变量的方法:

当您的网址为:http://www.example.com/index.php?id=7时,您可以通过id$_GET['id']命令获取此$_REQUEST['id']并存储在$id变量中。

免得看一看:

// url is www.example.com?id=7

//get id from url via $_GET['id'] command:
$id = $_GET['id']

同样如下:

//get id from url via $_REQUEST['id'] command:
$id = $_REQUEST['id']

区别在于变量可以通过url或 POST 方法传递给文件。

如果变量是通过网址传递的,那么您可以使用$_GET['variable_name']$_REQUEST['variable_name']获取变量,但如果发布了变量,那么您需要$_POST['variable_name']$_REQUST['variable_name'] < / p>

因此,您可以看到$_REQUEST['variable_name']可以同时使用。

PS: 还要记住 - 永远不要这样:$results = mysql_query("SELECT * FROM next WHERE id=$id");它可能会导致MySQL注入并且您的数据库可能被黑客攻击

尝试使用:

$results = mysql_query("SELECT * FROM next WHERE id='".mysql_real_escape_string($id)."'");

答案 2 :(得分:0)

您可以使用$_GET数组获取该值。因此,id值将存储在$_GET['id']

因此,在您的情况下,您可以将该值存储在$id变量中,如下所示:

$id = $_GET['id'];

答案 3 :(得分:0)

您可以使用全局$ _GET变量

访问这些值
//www.example.com/index.php?id=7
print $_GET['id']; // prints "7"

你应该检查所有“传入的”用户数据 - 所以在这里,“id”是一个INT。不要直接在SQL中使用它(易受SQL注入攻击)。

答案 4 :(得分:0)

您还可以获取查询字符串值:

$uri =  $_SERVER["REQUEST_URI"]; //it will print full url
$uriArray = explode('/', $uri); //convert string into array with explode
$id = $urlArray[1];