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;    
}
4

5 に答える 5

20

ウェブサイトの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
}
于 2013-09-22T13:35:42.297 に答える
10

PHP で URL から変数を取得するには、次の 2 つの方法があります。

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']$_REQUEST['variable_name']

ご覧$_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)."'");
于 2013-09-22T13:41:28.823 に答える