简体   繁体   English

如何使用相同的表单PHP在多个表中编写多个插入

[英]How to write multiple insert in multiple tables using the same form PHP

I have a problem with inserting data into two different tables: When a new member is created, it will be insert into member and grade tables after getting the id course from course table. 我在将数据插入两个不同的表时遇到问题:创建新成员后,从课程表中获取id课程后,它将插入成员和成绩表。 I used INSERT for both of them at the same time with a multi query function but it doesn't work. 我使用INSERT同时使用多个查询功能同时使用INSERT,但它不起作用。 Can you help me please? 你能帮我吗?

The form: 表格:

<form>    
  <input type="text" name='m_fName'>
  <input type="text" name='m_lName'>
  <input type="text" name ='m_nId'>
</form>

Php

  $id = $re['c_id']; //to get id of course that I want to insert
  $sql="INSERT INTO member (m_fName, m_lName, m_nId) 
        VALUES('$_POST[m_fName]','$_POST[m_lName]','$_POST[m_nId]');
        INSERT INTO grade(c_id,m_nId)
        VALUES( '$id','$_POST[m_nId]')";
  mysqli_multi_query($conn,$sql);

Answer above is the correct one, alternative way is the code below 上面的答案是正确的,另一种方法是下面的代码

$id = $re['c_id']; //to get id of course that I want to insert
  $sql="INSERT INTO member (m_fName, m_lName, m_nId) VALUES('$_POST[m_fName]','$_POST[m_lName]','$_POST[m_nId]');";
  $act = mysqli_query($conn,$sql);
if($act) {
   $sql2 = "INSERT INTO grade(c_id,m_nId)
  VALUES( '$id','$_POST[m_nId]')";
   $act2 = mysqli_query($conn,$sql2);
}
$id = $re['c_id'];
  $sql="INSERT INTO member (m_fName, m_lName, m_nId) VALUES('$_POST[m_fName]','$_POST[m_lName]','$_POST[m_nId]');";
  $sql .="INSERT INTO grade(c_id,m_nId) VALUES( '$id','$_POST[m_nId]')";

  if (mysqli_multi_query($conn, $sql)) {
    echo "New records created successfully";
} else {
    echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}

Hope this will help. 希望这会有所帮助。 but try to first validate the posted data. 但尝试首先验证发布的数据。 check if isset .you did not show in the are you using post and the page you are posting your data 检查是否isset。您没有在使用帖子和您发布数据的页面中显示

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM