Php 嵌套插入到两个表中

Php 嵌套插入到两个表中,php,mysql,sql,Php,Mysql,Sql,我有下面的代码。我用post从另一个页面获取了一些变量。然后我运行查询并将它们存储到表materials。然后我为该表选择以获取materialsid,然后我想使用insert into将materialsid的值存储在另一个名为material\u的表中 <?php session_start(); if(isset($_POST['submit'])) { include('dbConfig.php'); $mname1=$_P

我有下面的代码。我用post从另一个页面获取了一些变量。然后我运行查询并将它们存储到表
materials
。然后我为该表选择以获取
materialsid
,然后我想使用
insert into
materialsid
的值存储在另一个名为
material\u的表中

    <?php
    session_start();
    if(isset($_POST['submit'])) {
        include('dbConfig.php');

        $mname1=$_POST['name1'];
        $mcost1=$_POST['cost1'];    
        $mquantity=$_POST['quantity'];

        $res=mysql_query("INSERT INTO materials VALUES (NULL, '$mname1', '$mcost1','$mquantity')");
        if ($res) 
        {
            echo "Insert successful";
        }
        else 
        {
            echo "Insert failed";
        }
        $res1=mysql_query("SELECT * FROM materials");
        while ($row = mysql_fetch_array ($res1))
        {
            $id10=$row['materialsid'];
            $id11=(int)$id10;
            $res2=mysql_query("INSERT INTO damage_materials    (damage_materials_id,damage_id,materials_id) VALUES (NULL,NULL,'$id11')");
            if($res2)
            {
                echo "CORRECT";
            }
            else
            {
                echo "FALSE";
            }
        }
    }

    ?>

如果要打印false,则您的查询不起作用。可能有很多事情。现在,不是false,而是echo
mysql\u error()
。它打印的列“损坏id”不能为空!但我想首先为空,这意味着
damage\u id
字段上的设置限制了您可以在该字段中输入的内容。为什么它需要为
null
?我需要为空,然后如果我添加了损坏,我将添加它如果它是整数字段类型,请使用
0
。如果该字段引用SQL中适当的
id
字段,则意味着
id
dereferenced是一个
autonumber
字段,其中
0
永远不会是真正的引用。