Как получить значение из 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 ответов:
URL сайта:
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 }
Существует два способа получить переменную из URL в 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']
То же самое будет:
Отличие состоит в том, что переменная может быть передана в файл через url или через метод POST.//get id from url via $_REQUEST['id'] command: $id = $_REQUEST['id']
Если переменная передается через 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)."'");
Это значение можно получить с помощью массива
Таким образом, в вашем случае вы можете сохранить это значение в переменной$_GET
. Таким образом, значение id будет сохранено в$_GET['id']
.$id
следующим образом:$id = $_GET['id'];
Вы можете получить доступ к этим значениям с помощью глобальной переменной $_GET
//www.example.com/index.php?id=7 print $_GET['id']; // prints "7"
Вы должны проверить все "входящие" данные пользователя-так вот, этот " id " является INT. Не используйте его непосредственно в SQL (уязвимо для SQL-инъекций).