使用外键php在同一时间向两个表插入数据

时间:2015-03-24 04:07:41

标签: php mysql

请建议如何使用php将数据插入数据库中的两个表。下面是代码,目前我只能插入$ insert_cust的数据,但无法插入for循环的值。

<?php
    //including the database connection file
    include_once("config_db.php");

    //getting data from the fields
    if(isset($_POST['Submit']))
    {
        $cust_name=$_POST['cust_name'];
        $cust_add=$_POST['cust_add'];

        //insert data to database tb_cust   
        $insert_cust=mysql_query("INSERT INTO tb_cust(cust_id,cust_name,cust_add) VALUES(NULL,'$cust_name','$cust_add')");
        mysql_query($insert_cust);
        $lastid=mysql_insert_id();

        //insert data to database tb_ord_dtl
        for($i=0; $i < count($_POST['tm_id']); $i++) {
            $tm_id = addslashes($_POST['tm_id'][$i]);
            $order_qty = addslashes($_POST['order_qty'][$i]);
            $order_unit_prc = addslashes($_POST['order_unit_prc'][$i]);

            //insert data to database tb_odr_dtl
            echo "INSERT INTO tb_odr_dtl(order_id,cust_id,tm_id,order_qty,order_unit_prc) VALUES(NULL,$lastid,'$tm_id','$order_qty','$order_unit_prc')";
        }       
    }
?>

2 个答案:

答案 0 :(得分:3)

$insert_cust=mysql_query("INSERT INTO tb_cust(cust_id,cust_name,cust_add) VALUES(NULL,'$cust_name','$cust_add')");
        mysql_query($insert_cust);

你为什么两次运行mysql_query?当您尝试再次运行mysql_query这是无意义的时,我认为您无法获得有效的插入ID。

最后使用echo插入?

答案 1 :(得分:0)

forloop中,您无需使用echo

for($i=0; $i < count($_POST['tm_id']); $i++) {
            $tm_id = addslashes($_POST['tm_id'][$i]);
            $order_qty = addslashes($_POST['order_qty'][$i]);
            $order_unit_prc = addslashes($_POST['order_unit_prc'][$i]);

            //insert query here
            $Insert_query=mysql_query("INSERT INTO tb_cust(cust_id,cust_name,cust_add) VALUES(NULL,'$cust_name','$cust_add')");
               }