php - 如何同时向mysql数据库的两个不同表中插入数据?

标签 php mysql session

我想同时将数据插入到mysql数据库中的两个不同的表中,但我的数据只插入到user_signup表中,而不插入到另一个表中。这是我的代码:

<?php
//If user is a ministry head
if($access_level == 'ministry_head')
{
    $sql="INSERT INTO ministry_head (eemail,mobile_number,fname,mname,lname,access_level,region_name,district_name,ssn,district_pass,pass_con) VALUES ('$eemail','$mobile_number','$fname','$mname','$lname','$access_level','$region_name','$district_name','$ssn','$district_pass','$pass_con')";
    $sql="INSERT INTO user_signup (eemail,mobile_number,fname,mname,lname,access_level,region_name,district_name,ssn,district_pass,pass_con) VALUES ('$eemail','$mobile_number','$fname','$mname','$lname','$access_level','$region_name','$district_name','$ssn','$district_pass','$pass_con')";
    $_SESSION['eemail'] = $eemail;
    header('Location: ministry_head_page.php');             
}           
//If user is a regional head            
else if($access_level == 'regional_head')
{
    $sql="INSERT INTO regional_head (eemail,mobile_number,fname,mname,lname,access_level,region_name,district_name,ssn,district_pass,pass_con) VALUES ('$eemail','$mobile_number','$fname','$mname','$lname','$access_level','$region_name','$district_name','$ssn','$district_pass','$pass_con')";
    $sql="INSERT INTO user_signup (eemail,mobile_number,fname,mname,lname,access_level,region_name,district_name,ssn,district_pass,pass_con) VALUES ('$eemail','$mobile_number','$fname','$mname','$lname','$access_level','$region_name','$district_name','$ssn','$district_pass','$pass_con')";
    $_SESSION['eemail'] = $eemail;
    header('Location: regional_head_page.php');             
}           
//if user is general user 
else if($access_level == 'general_user')
{
    $sql="INSERT INTO general_user (eemail,mobile_number,fname,mname,lname,access_level,region_name,district_name,ssn,district_pass,pass_con) VALUES ('$eemail','$mobile_number','$fname','$mname','$lname','$access_level','$region_name','$district_name','$ssn','$district_pass','$pass_con')";
    $sql="INSERT INTO user_signup (eemail,mobile_number,fname,mname,lname,access_level,region_name,district_name,ssn,district_pass,pass_con) VALUES ('$eemail','$mobile_number','$fname','$mname','$lname','$access_level','$region_name','$district_name','$ssn','$district_pass','$pass_con')";
    $_SESSION['eemail'] = $eemail;
     header('Location: general_user_page.php');     
}       
//if user is car company    
else if ($access_level == 'car_company')
{
    $sql="INSERT INTO car_company (eemail,mobile_number,fname,mname,lname,access_level,region_name,district_name,ssn,district_pass,pass_con) VALUES ('$eemail','$mobile_number','$fname','$mname','$lname','$access_level','$region_name','$district_name','$ssn','$district_pass','$pass_con')";
    $sql="INSERT INTO user_signup (eemail,mobile_number,fname,mname,lname,access_level,region_name,district_name,ssn,district_pass,pass_con) VALUES ('$eemail','$mobile_number','$fname','$mname','$lname','$access_level','$region_name','$district_name','$ssn','$district_pass','$pass_con')";
    $_SESSION['eemail'] = $eemail;  
    header('Location: car_company_page.php');   
}     
if (!mysqli_query($con,$sql))
{  
    die('Error: ' . mysqli_error($con));
}
echo "";
mysqli_clos
e($con); 
} 
?>

最佳答案

将两个不同的字符串分配给一个变量:

$sql="INSERT INTO car_company ...";
$sql="INSERT INTO user_signup ...";

第二行覆盖第一行,因此它不会执行。作为解决方法,您可以这样做:

$sql1="INSERT INTO car_company ...";
$sql2="INSERT INTO user_signup ...";

后跟

mysqli_query($con,$sql1);
mysqli_query($con,$sql2);

进行适当的错误检查等等。

关于php - 如何同时向mysql数据库的两个不同表中插入数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31650669/

相关文章:

c# - 将特定值从 UWP 添加到数据库

session - node.js sessionStore 显示所有 session 的相同数据

PHP session 要使用文件系统与 Node.js 共享吗?

php - 简单的 HTML DOM - 替换某个单词的所有出现 - 不影响属性

php - PHP 有没有像 Python 的模板字符串那样的特性?

php - 大量空格进入数据库......(PHP,Mysql)

php - Twilio 短信 mysql 插入

mysql - SQL:将列数据移动到同一关系中的其他表

c# - 实体类型 ApplicationUser 不是当前上下文模型的一部分,具有自定义用户存储的 DB First

java - JSch session 超时限制