如何从URL [关闭]获取价值

问题描述 投票:5回答:5
我想从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; }

php mysql database url
5个回答
14
投票
网站网址:

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 }


7
投票
有两种方法可以从PHP中的URL获取变量:

当您的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

方法将变量传递到文件。 如果变量通过URL传递,则可以使用$_GET['variable_name']$_REQUEST['variable_name']来获取它,但是如果发布了变量,则需要$_POST['variable_name']$_REQUST['variable_name']

因此,如您所见,$_REQUEST['variable_name']可以同时使用。

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

尝试使用:

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

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

因此,您可以按照以下方式将该值存储在$id变量中:

$id = $_GET['id'];


0
投票
您可以使用全局$ _GET变量访问这些值

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

您应检查所有“传入”用户数据-因此,此处的“ id”为INT。不要在您的SQL中直接使用它(容易受到SQL注入的攻击)。

0
投票
您还可以通过以下方式获得查询字符串值:

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

© www.soinside.com 2019 - 2024. All rights reserved.