我正在构建一个简单的错误跟踪工具。您可以创建新项目,当您创建项目时,您必须填写一个表单,该表单发布到 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 db 中选择数据。)
$query = 'SELECT CONCAT(name)
AS name FROM projects';
$result = mysql_real_escape_string($query);
$result = mysql_query ($query);
(这里我在我的页面上显示了项目的名称,但它始终是 MySQL db 中第一个项目的名称)
<?php
if ($row = mysql_fetch_array ($result))
echo '<h5>' . $row['name'] . '</h5>';
?>
如何显示正确项目的名称?与id相关联的那个?我有使用 WHERE .... 吗?