Php 如何更新数据库中已插入并随后删除的值

Php 如何更新数据库中已插入并随后删除的值,php,mysql,sql,Php,Mysql,Sql,我在数据库中有一个只有一列的表,它存储所有项目的名称。我有一个注册页面,显示所有这些项目,用户可以选择任何项目。表上所做的任何更改都会反映在我的注册页面上 用户选择项目并注册时,用户的所有信息都存储在该数据库的另一个表中。我的问题是,如果我使用projects name(删除或插入名称)对表进行任何更改,它会反映在注册页面上,但不会反映在用户的数据库上 例如,假设一个用户选择了p1、p2并注册,然后如果我从数据库中删除p2,它确实会从用户的数据库中删除,只有它的“从注册中删除”页面。我希望这一变

我在数据库中有一个只有一列的表,它存储所有项目的名称。我有一个注册页面,显示所有这些项目,用户可以选择任何项目。表上所做的任何更改都会反映在我的注册页面上

用户选择项目并注册时,用户的所有信息都存储在该数据库的另一个表中。我的问题是,如果我使用projects name(删除或插入名称)对表进行任何更改,它会反映在注册页面上,但不会反映在用户的数据库上

例如,假设一个用户选择了p1、p2并注册,然后如果我从数据库中删除p2,它确实会从用户的数据库中删除,只有它的“从注册中删除”页面。我希望这一变化能反映到所有地方。我如何实现这一点

    <?php
    include('connection2.php');
    if(isset($_POST['project'])) {
           $pro=implode(',', $_POST['project']);

    $fname=$_POST['fname'];
    $lname=$_POST['lname'];
    $age=$_POST['age'];
    $gender=$_POST['gender'];
    $username=$_POST['username'];
    $username=$_POST['username'];
    $password=$_POST['password'];

    mysql_query("INSERT INTO test(fname, lname, age, gender, username, password,projects)VALUES
    ('$fname', '$lname', '$age', '$gender', '$username', AES_ENCRYPT
    ('$password','.b.'), '$projects')");
    }
    header("location: registration2.php?remark=success");
    mysql_close($con);
?> 

如果使用的是同一个数据库,则可以使用项目的id作为外键。它实际上取决于您的数据库结构。如果您是以类似的方式存储

user_1, project_1
user_1, project_2
代替project_1,您可以使用项目表的id,并在从
项目
表中删除时使用
级联删除

userId, userName, project_id
其中project_id将是您的外键

(您也可以按照注释部分中的建议使用触发器。尽管对于此操作,我建议使用级联删除。如果您的操作比此操作更复杂,您可以使用
触发器
,甚至
存储过程


这有更多关于级联删除如何工作的详细信息

使用触发器,如中所述,以便用户数据库与用于存储项目名称的数据库不同?相同的数据库,但有两个差异表。一个表用于存储用户信息,另一个表仅用于更新项目名称。因此,用户项目存储在何处。。在用户表中。。。请更新您的代码!!:)