Je veux obtenir une valeur d'URL pour choisir les données de la base de données par ID. Je veux la valeur pour id.
Par exemple si j'ouvre www.example.com/index.php?id=12
Je veux obtenir la valeur dont l'id = 12 dans la base de données.
Si j'ouvre www.example.com/index.php?id=7
obtenir la valeur dont id = 7 dans la base de données et ainsi de suite.
J'ai du code:
$results = mysql_query("SELECT * FROM next WHERE id=$id");
while ($row = mysql_fetch_array($results))
{
$url = $row['url'];
echo $url;
}
URL de site web:
http://www.example.com/?id=2
Code:
$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
}
Il y a deux façons d'obtenir une variable d'URL en PHP:
Lorsque votre URL est: http://www.example.com/index.php?id=7
, vous pouvez obtenir cette id
via la commande $_GET['id']
ou $_REQUEST['id']
et la stocker dans la variable $id
.
Nous allons jeter un coup d'œil:
// url is www.example.com?id=7
//get id from url via $_GET['id'] command:
$id = $_GET['id']
idem sera:
//get id from url via $_REQUEST['id'] command:
$id = $_REQUEST['id']
la différence est que cette variable peut être transmise au fichier via l’URL ou viaPOSTmethod.
si la variable est passée par l'URL, alors vous pouvez l'obtenir avec $_GET['variable_name']
ou $_REQUEST['variable_name']
mais si la variable est publiée, alors vous aurez besoin de $_POST['variable_name']
ou $_REQUST['variable_name']
Donc, comme vous le voyez, $_REQUEST['variable_name']
peut être utilisé dans les deux sens.
P.S: Rappelez-vous également - ne faites jamais comme ceci: $results = mysql_query("SELECT * FROM next WHERE id=$id");
, cela pourrait provoquer une injection MySQL et votre base de données pourrait être piratée.
Essayez d'utiliser:
$results = mysql_query("SELECT * FROM next WHERE id='".mysql_real_escape_string($id)."'");
Vous pouvez obtenir cette valeur en utilisant le tableau $_GET
. Donc, la valeur id serait stockée dans $_GET['id']
.
Donc, dans votre cas, vous pouvez stocker cette valeur dans la variable $id
comme suit:
$id = $_GET['id'];
Vous pouvez accéder à ces valeurs avec la variable globale $ _GET
//www.example.com/index.php?id=7
print $_GET['id']; // prints "7"
Vous devriez vérifier toutes les données utilisateur "entrantes" - alors ici, cet "id" est un INT Ne l'utilisez pas directement dans votre SQL (vulnérable aux injections SQL).
Vous pouvez également obtenir une valeur de chaîne de requête sous la forme suivante:
$uri = $_SERVER["REQUEST_URI"]; //it will print full url
$uriArray = explode('/', $uri); //convert string into array with explode
$id = $urlArray[1];