-2

get id基本的に、 switch ステートメントの ID がデータベース内の行の ID と一致する場合に、データベースの行を表示したいと考えています。ここで自分自身を混乱させているので、さらに説明しましょう。

URLが2の場合www.example.com/index.php?id=2 、IDが2の行をページに表示します。

データベースの内容の例を次に示します。

id = 2 name = john id = 3 name = mark

したがって、URL の ID が 2 の場合、ID 2 と名前 john が表示されます。ただし、URL の id が 3 の場合は、id 3 と名前マークを表示します。

これを行うためにget関数を使用していますが、基本的に2つのIDを取得して比較し、データベースからそれぞれの行を取得する方法がわかりません。

私はPHPもまったく初めてなので、小さな言葉をお願いします! :)


リビジョン 2。

上で述べたように、私は PHP を初めて使用するので、投稿された内容の多くは私を混乱させます。しかし、さまざまなコードを試していると、次のようになります。

Warning: mysqli_query() expects at least 2 parameters, 1 given ...
Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, null given

コードの各サンプルを使用しましたが、現在それらを混ぜているようです。うーん。

4

4 に答える 4

1

おそらく次のようなものが必要です (データベース接続コードとエラー処理は示されていません):

$id = intval($_GET['id']);
$result = mysqli_query("SELECT id, name FROM table WHERE id=$id");
$row = mysqli_fetch_assoc($result);
echo $row['id']." ".$row['name'];

投稿されたコードについて:

  1. あなたは決して使用しません$result
  2. の内部switchでは、 に割り当て$idています。これは、が 0の場合を除いて、常に$_GET['id']を使用する結果となります。include$_GET['id']
于 2013-08-12T13:37:50.880 に答える
0

(SQL インジェクションの脅威を維持することによって) id値を sql に渡す必要があります。その後、mysql(非推奨) または mysqli の fetch_assoc 関数を使用してフェッチされた値を取得できます。

于 2013-08-12T13:37:25.010 に答える