シンプルなバグ追跡ツールを構築しています。新しいプロジェクトを作成できます。プロジェクトを作成するときに、フォームに入力する必要があります。そのフォームは project.class.php (このコード) に投稿されます。
$name = $_POST['name'];
$descr = $_POST['description'];
$leader = $_POST['leader'];
$email = $_POST['email'];
$sql="INSERT INTO projects (name, description, leader, email, registration_date)
VALUES ('$name', '$descr', '$leader', '$email', NOW())";
$result = mysql_real_escape_string($sql);
$result = mysql_query($sql);
if($result){
header('Location: ../projectpage.php?id='.mysql_insert_id());
}
else {
echo "There is something wrong. Try again later.";
}
mysql_close();
(まだSQLインジェクションの証明ではなく、完全にはほど遠い...)
最終的に、MySQL データベースに保存されている ID にリンクされている一意のプロジェクト ページにリダイレクトされます。そのプロジェクトの名前をページに表示したいのですが、常にデータベース内の最初のプロジェクトの名前が表示されます。
(ここでは、MySQL データベースからデータを選択します。)
$query = 'SELECT CONCAT(name)
AS name FROM projects';
$result = mysql_real_escape_string($query);
$result = mysql_query ($query);
(ここでは私のページにプロジェクトの名前を表示していますが、これは常に MySQL データベースの最初のプロジェクトの名前です)
<?php
if ($row = mysql_fetch_array ($result))
echo '<h5>' . $row['name'] . '</h5>';
?>
適切なプロジェクトの名前を表示するにはどうすればよいですか? IDに紐付いてるやつ?WHERE .... を使用できますか?