Php 插入新记录时将一个ID从一个表插入另一个表
我有一个表格,其中包含一个员工个人信息。我更新表单,并将其插入名为Php 插入新记录时将一个ID从一个表插入另一个表,php,mysql,insert,Php,Mysql,Insert,我有一个表格,其中包含一个员工个人信息。我更新表单,并将其插入名为employee\u info的表中。它使用详细信息更新表并插入新ID(employee\u ID)。在我的数据库中,我有另一个名为department\u info的表,相关字段是department\u id。这是php标记,用于将数据插入数据库: $sql_data_array = array('employee_firstname' => $employee_firstname); //other variables
employee\u info
的表中。它使用详细信息更新表并插入新ID(employee\u ID
)。在我的数据库中,我有另一个名为department\u info
的表,相关字段是department\u id
。这是php标记,用于将数据插入数据库:
$sql_data_array = array('employee_firstname' => $employee_firstname); //other variables go here
if (ACCOUNT_DOB == 'true') $sql_data_array['driver_dob'] = tep_date_raw($driver_dob);
tep_db_perform(TABLE_EMPLOYEES, $sql_data_array);
$employee_id = tep_db_insert_id();
我需要做的是,当表单被更新,并且数据被插入到员工信息
表中时,我需要它为员工id
插入一个新id(这已经发生了),并且将部门id
插入员工信息
表中
department\u id
用于登录,我想显示属于该部门的员工列表。有人能告诉我怎么做吗?当您使用PHP插入时,大多数实现都返回所谓的最后一个插入id。这是一个AUTO_INCREMENT列的值
即使您的实现不支持它,也应该有一个函数返回它
编辑:
从您的更新来看,这似乎是osCommerce。代码中的问题是使用方法tep_db_perform插入一个或多个元素。如果插入两行,会发生什么情况?但在简单的情况下,使用tep_db_insert_id(),它应该返回最后一个id。php函数mysqli_insert_id检索上一个查询(通常是insert)为自动增量列生成的id。获取此id并在其他表中使用。我已经包含了插入employee表的代码,请您显示代码,以便回答。我建议使用触发器,而不是用php编码。我不打算写你的触发器,但我只是给你一些考虑。@斯考克,我认为将业务逻辑与数据库混合是个坏主意。我们应该使事情尽可能简单明了。如果您需要为Oracle或NoSQL更改MySQL数据库,会发生什么?将业务逻辑与数据库混合是一个坏主意?那么,触发器是什么呢?什么是约束?