0

たとえば、url 変数 ?id=1 に基づいてデータベースからデータ行をフェッチするテンプレートを作成しようとしています。http://www.example.com/template.php?id=1にアクセスすると、その特定の行のすべての情報、たとえばタイトルを表示したいと思います。

現時点では、php.net を見て、多少いじっています。私はPHPが初めてで、それほど多くの経験がないため、これを修正する方法についてほとんど考えがありません:S.

$result = mysql_query("SELECT id,title FROM table WHERE id = urldecode( $_GET['id']        ) ");
if (!$result) {
echo 'Could not run query: ' . mysql_error();
exit;
}
$row = mysql_fetch_row($result);

echo $row[0];
echo $row[1];

これが広すぎないことを願っています。

4

1 に答える 1

1

まず第一に、単純な文字列クエリを実行するのではなく、安全なデータベース レイヤー ( pdoなど) を実行します。第二に、あなたのコードは多かれ少なかれ問題ありません。私は次のようにします:

$id = $_GET['id'];
$query = mysql_query("SELECT id,title FROM table WHERE id = $id");

「$id」文字列内に変数を配置すると、その値が内部に配置されます。「$id」文字列の中に入れても、そうはなりません。これはあなたが望んでいたものですか?

編集:ところで、URLベースのものはなく、クエリ文字列があります。idクエリ文字列から変数を取得します。

于 2013-02-22T19:50:42.087 に答える