使用PHP将多行插入mysql DB

时间:2012-09-04 15:32:05

标签: php mysql html

我正在尝试将数据插入表中,并且数据是从另一个表中提取的。目前我的代码看起来像这样:

$result3 = mysql_query('SELECT order_no 
                    FROM orders 
                    WHERE ord_date = "' . ($_POST["ord_date"]) . '"');

while($row=mysql_fetch_array($result3)){ $order=$row['order_no'];}

$result4 = mysql_query('SELECT door_product_no 
                    FROM estimateDescribesDoorProduct 
                    WHERE estimate_no = "' . ($_GET["estimate_no"]) . '"');

while($row=mysql_fetch_array($result4)){ $door=$row['door_product_no'];}

$result5 = mysql_query('SELECT quantity 
                    FROM estimateDescribesDoorProduct 
                    WHERE estimate_no = "' . ($_GET["estimate_no"]) . '"');

while($row=mysql_fetch_array($result5)){ $dquantity=$row['quantity'];}


$sql2="INSERT INTO orderConsistsOfDoor (order_no, door_product_no, product_quantity)

VALUES ('$order','$door','$dquantity')";

由于本网站的一些建议,我昨天使用了这种方法。我今天的问题是我需要插入多行。除了第一列(order_no / estimate_no)之外,表'orderConsistsOfDoor'和'estimateDescribesDoorProduct'是相同的。基本上,如果估计(或订单)包括例如3个产品,然后表中将有3行与estimate_no(但不同product_no和数量)。

我认为我的代码只会在orderConsistsOfDoor中插入一行,但是我需要它来插入每个行,其中estimate_no是($ _GET [“estimate_no”])。我认为这可以用foreach或者其他东西来完成,但我从来没有使用过它,也不知道它是如何工作的。

有人能帮助我吗?

1 个答案:

答案 0 :(得分:1)

要使用一个查询插入多个记录,您可以执行以下操作:

INSERT INTO `table_name` (`foo`, `bar`) VALUES (1, 2), (3, 4), (5, 6);

请参阅INSERT Syntax

你应该使用一个图书馆,它是2012年!