php - 将数组值和其他表单值插入到两个不同的mysql表中

标签 php mysql

我正在尝试将表单中的数据插入到两个不同的表中。这就是我正在做的事情:-

<?php

$mysqli= new mysqli("localhost","root","","store_records");
if($mysqli->connect_error)
    die("Database connection failed ".$mysqli->connect_error);

$query = "insert into bill_details(date,invoice_no,balance) values('".$_POST['p_date']."','".$_POST['invoice_no']."','".$_POST['balance']."')";
if($mysqli->query($query))
{
    $cquery="";
    for ( $i=0;$i<$_POST['row_numbers'];$i++) 
    {
        $cquery .= "insert into bill_records(item_name,qty,pack,batch,expiry,mrp,rate,vat,discount,invoice_no) values('".$_POST['item_name'][$i]."','".$_POST['qty'][$i]."','".$_POST['pack'][$i]."','".$_POST['batch'][$i]."','".$_POST['expiry'][$i]."','".$_POST['mrp'][$i]."','".$_POST['rate'][$i]."','".$_POST['vat'][$i]."','".$_POST['discount'][$i]."','".$_POST['invoice_no']."');";
    }
    if($mysqli->multi_query($cquery))
        echo "Records Saved";
    else
        echo "Failed to save product records";
}
else
{
    echo "Failed To save Records";
}
?>

现在,第一个查询的数据将存储到 bill_details 表中。但数组值没有被存储。我无法弄清楚我的代码做错了什么。我想知道如何解决这个问题并使用 invoice_no 作为两个表的引用键。

这是两个数据库表的结构..

bill_details table

bill_records table

最佳答案

Try this. Hope it works. :)

<?php

$mysqli= new mysqli("localhost","root","","store_records");
if($mysqli->connect_error)
die("Database connection failed ".$mysqli->connect_error);

$query = "insert into bill_details(date,invoice_no,balance) values('".$_POST['p_date']."','".$_POST['invoice_no']."','".$_POST['balance']."')";
if($mysqli->query($query))
{
    $cquery="";
    for ( $i=0;$i<$_POST['row_numbers'];$i++) 
    {
        $cquery .= "insert into bill_records(item_name,qty,pack,batch,expiry,mrp,rate,vat,discount,invoice no) values('".$_POST['item_name'][$i]."','".$_POST['qty'][$i]."','".$_POST['pack'][$i]."','".$_POST['batch'][$i]."','".$_POST['expiry'][$i]."','".$_POST['mrp'][$i]."','".$_POST['rate'][$i]."','".$_POST['vat'][$i]."','".$_POST['discount'][$i]."','".$_POST['invoice_no']."');";
        if(!($mysqli->query($cquery)))
            die("failed to save");
    }
}
else{
    echo "Failed To save Records";
}

?>

关于php - 将数组值和其他表单值插入到两个不同的mysql表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40450470/

相关文章:

php - 如何在Silex中捕获身份验证错误?

php - 警告:preg_replace_callback():需要参数2

php - 有没有办法在 MySQL 结果集中生成 "fake"行?

javascript - 动态添加元素和处理事件

mysql - 从我的 Web 应用程序创建一个具有唯一且随机名称的表

Mysql Case 返回错误值

php - MySQL 从所有行中添加值

mysql - 如何删除alembic上没有名称的外键的外键约束?

mysql - 在连接表上添加默认值

php - 如何从数据库中预选当前选中的下拉菜单项?