从数据库中检索两个表数据,并使用php显示和插入到新表中
我有两个表名为input和out\u materials。这些是字段和数据 两张桌子的 第1表:输入 物料|编码|物料|名称|单位|入库数量 m219、mat1、pcs、215 第二张表:out_材料 物料|编码|物料|名称|单位|出库|数量 m219,mat1,件,15 表3:总计 物料|编码|物料|名称|单位|入库数量|出库数量|数量 m219、mat1、pcs、215、15200 注意:在这里,我试图从第一个表和第二个表中获取数据,而这个获取数据插入到第三个表中。下面给出了我的代码,但它不起作用从数据库中检索两个表数据,并使用php显示和插入到新表中,php,mysql,Php,Mysql,我有两个表名为input和out\u materials。这些是字段和数据 两张桌子的 第1表:输入 物料|编码|物料|名称|单位|入库数量 m219、mat1、pcs、215 第二张表:out_材料 物料|编码|物料|名称|单位|出库|数量 m219,mat1,件,15 表3:总计 物料|编码|物料|名称|单位|入库数量|出库数量|数量 m219、mat1、pcs、215、15200 注意:在这里,我试图从第一个表和第二个表中获取数据,而这个获取数据插入到第三个表中。下面给出了我的代码,但它不
$res=mysqli_query($con, "SELECT i.* , o.* FROM input i,out_materials o WHERE i.Materials_name=o.Materials_name");
while($row=mysqli_fetch_array($res)){
$inm_code = $row['Materials_code'];
$inm_name = $row['Materials_name'];
$inunit = $row['Unit'];
$inqty = $row['Input_qty'];
$outm_code = $row['Materials_code'];
$outm_name = $row['Materials_name'];
$outunit = $row['Unit'];
$outqty = $row['Out_qty'];}
$sql2=mysqli_query($con, "INSERT INTO total (Materials_code,Materials_name,Unit,Input_qty,Out_qty) VALUES('$inm_code','$inm_name','$inunit','$inqty','$outqty')");
您的
$sql2
在while循环之外,这就是为什么它只插入最后一行。欢迎使用堆栈溢出。请将你的问题包括在内,其他人可以测试。有关SQL相关问题,请参阅。还要检查如何使用准备好的语句。然后详细解释什么“不起作用”。还要检查MySQL错误。你说它不工作是什么意思。。在插入之前,您是否尝试过查看是否从数据库中获取数据?@danish-khan-I它不起作用意味着当我在新表中运行此代码时,仅插入1行数据。在我的数据库中,有更多未插入的数据。只有最后一行数据插入。这是症状…但您需要深入挖掘以找到原因。了解如何调试代码谢谢@danish-khan-I。我是php新手,所以我不懂。再次感谢你
$res=mysqli_query($con, "SELECT i.* , o.* FROM input i,out_materials o WHERE i.Materials_name=o.Materials_name");
while($row=mysqli_fetch_array($res)){
$inm_code = $row['Materials_code'];
$inm_name = $row['Materials_name'];
$inunit = $row['Unit'];
$inqty = $row['Input_qty'];
$outm_code = $row['Materials_code'];
$outm_name = $row['Materials_name'];
$outunit = $row['Unit'];
$outqty = $row['Out_qty'];
$sql2=mysqli_query($con, "INSERT INTO total (Materials_code,Materials_name,Unit,Input_qty,Out_qty) VALUES('$inm_code','$inm_name','$inunit','$inqty','$outqty')");
} //notice