在同一查询php页面中插入两个

在同一查询php页面中插入两个,php,mysql,database,insert,Php,Mysql,Database,Insert,我有两个php页面:一个是表单,另一个是将数据插入数据库。 我正在尝试理解如何使用下面的代码将数据插入到两个不同的表中,如果只运行一个insert,它确实可以工作,但是使用两个insert,我无法让它工作。为什么?在同一个PHP页面中使用2 INSERT语句并在两个不同的表中添加信息的方法是什么 <?php include("../includes/connection.php"); // Escape user inputs for security $name = mysqli_r

我有两个php页面:一个是表单,另一个是将数据插入数据库。 我正在尝试理解如何使用下面的代码将数据插入到两个不同的表中,如果只运行一个insert,它确实可以工作,但是使用两个insert,我无法让它工作。为什么?在同一个PHP页面中使用2 INSERT语句并在两个不同的表中添加信息的方法是什么

 <?php
include("../includes/connection.php");

// Escape user inputs for security
$name = mysqli_real_escape_string($link, $_POST['name']);
$email = mysqli_real_escape_string($link, $_POST['email']);
$number = mysqli_real_escape_string($link, $_POST['number']);
$device = mysqli_real_escape_string($link, $_POST['device']);
$price = mysqli_real_escape_string($link, $_POST['price']);
$payment = mysqli_real_escape_string($link, $_POST['payment']);
$status = mysqli_real_escape_string($link, $_POST['status']);
$model = mysqli_real_escape_string($link, $_POST['model']);
$problem = mysqli_real_escape_string($link, $_POST['problem']);

// attempt insert query execution
   $sql = "INSERT INTO table1 (mail, number, device, price, paymenttype,status,date) VALUES ('$name', '$email', '$number', '$device', '$price', '$payment','$status',NOW())";

if(mysqli_query($link, $sql)){
    // echo "Records added successfully.";
    header("location:ciao.php?message=The customer has been added to the database");

} else{
    echo "ERROR: Could not able to execute $sql. " . mysqli_error($link);
}

// close connection
mysqli_close($link);

$sql = "INSERT INTO table2(model, problem, device, status) VALUES ('$model', '$problem', '$device', '$status')";

if(mysqli_query($link, $sql)){
    // echo "Records added successfully.";
    header("location:ciao.php?message=The customer has been added to the database");

} else{
    echo "ERROR: Could not able to execute $sql. " . mysqli_error($link);
}
mysqli_close($link);

?>

您需要将第一个insert查询更正为

$sql = "INSERT INTO table1 (name, mail, number, device, price, paymenttype,status,date) VALUES ('$name', '$email', '$number', '$device', '$price', '$payment','$status',NOW())";
第二次在第二次插入查询之前关闭连接。只需评论密切联系。并尝试在第二次插入中指定不同的变量名

  //  mysqli_close($link);// comment this line

$sql1 = "INSERT INTO table2(model, problem, device, status) VALUES ('$model', '$problem', '$device', '$status')";

if(mysqli_query($link, $sql1)){
    // echo "Records added successfully.";
    header("location:ciao.php?message=The customer has been added to the database");

} else{
    echo "ERROR: Could not able to execute $sql1. " . mysqli_error($link);
}
mysqli_close($link);

执行第一次插入时关闭了连接,使用第二次插入的连接时,连接已关闭

1请检查第一次查询语法。应该是这样的:

$sql = "INSERT INTO table1(mail, number, device, price, paymenttype,status,date) VALUES ('$name', '$email', '$number', '$device', '$price', '$payment','$status',NOW())";

2在第二次插入查询之前,您已关闭连接

您在执行第一个insertquery sintax时关闭了连接。在更改表名时,我错误地删除了父项。主要问题是我在第二次插入查询之前关闭了连接。