如何使用php在phpmyadmin中插入数组数组
问题描述:
I am trying to insert an array of row in database and every row of array contain 3 another rows.
foreach($type as $a=>$b)
{
$sql="INSERT INTO `actual_regular` (`employee`, `sex`, `caste`, `family`, `local`, `worked_month`, `incash`, `total_salary`) VALUES ('$type[$a]', '$sex_actual[$a]', '$caste_actual[$a]', '$family_actual[$a]', '$employee_actual[$a]', '$worked_month[$a]', '$cash_actual[$a]', '$salary_actual[$a]');";
mysql_query($sql);
Above will insert array of rows. Every rows contain 3 rows that will be inserted in new table
$insert = "INSERT INTO `more_regular` (`product_detail`, `unit`, `quantity`, `price`) VALUES ('$detail_product[0]', '$unit[0]', '$quantity[0]', '$price[0]');";
$insert = "INSERT INTO `more_regular` (`product_detail`, `unit`, `quantity`, `price`) VALUES ( '$detail_product[1]', '$unit[1]', '$quantity[1]', '$price[1]');";
$insert = "INSERT INTO `more_regular` (`product_detail`, `unit`, `quantity`, `price`) VALUES ('$detail_product[2]', '$unit[2]', '$quantity[2]', '$price[2]');";
mysql_query($insert);
} // above foreach ends here
I mean there are multiple rows need to be inserted in table actual_regular
every rows contain 3 more rows. These 3 rows are inserted in table more_regular
.
我试图在数据库中插入一个行数组,每行数组包含3个另外的行。 p >
foreach($ type as $ a => $ b)
{
$ sql =“INSERT INTO`actual_regular`(`employee`,`sex`,`caste` ,`family`,`local`,`working_month`,`incash`,`total_salary`)VALUES('$ type [$ a]','$ sex_actual [$ a]','$ caste_actual [$ a]', '$ family_actual [$ a]','$ employee_actual [$ a]','$ working_month [$ a]','$ cash_actual [$ a]','$ salary_actual [$ a]');“;
mysql_query ($的SQL);
code> pre>
上面将插入行数组。 每行包含3行,将插入新表中 p>
$ insert =“INSERT INTO`more_regular`(`product_detail`,`unit`,`quantity`,`price `)VALUES('$ detail_product [0]','$ unit [0]','$ quantity [0]','$ price [0]');“;
$ insert =”INSERT INTO`more_regular` (`product_detail`,`unit`,`quantity`,`price`)VALUES('$ detail_product [1]','$ unit [1]','$ quantity [1]','$ price [1]' );“;
$ insert =”INSERT INTO`more_regular`(`product_detail`,`unit`,`quantity`,`price`)VALUES('$ detail_product [2]','$ unit [2]', '$ quantity [2]','$ price [2]');“;
mysql_query($插入);
} //在foreach上面结束
code> pre>
我的意思是需要在表 actual_regular code>中插入多行,每行包含3行 更多行。 这3行插入表 more_regular code>。 p>
div>
答
Use single insert query for three insert operations like this:
<?php
$insert = "INSERT INTO `more_regular` (`product_detail`, `unit`, `quantity`, `price`) VALUES ";
$values = array();
foreach ($type as $a=>$b) {
$values[] = "('$detail_product[0]', '$unit[0]', '$quantity[0]', '$price[0]')";
$values[] = " ( '$detail_product[1]', '$unit[1]', '$quantity[1]', '$price[1]')";
$values[] = " ('$detail_product[2]', '$unit[2]', '$quantity[2]', '$price[2]')";
} // above foreach ends here
if (! empty($values)) {
$insert .= implode(', ', $values);
}
mysql_query($insert);
?>
Basically, the logic is:
INSERT INTO TABLE (ID, NAME) VALUES
(1,'Andrew'),
(2,'Glenn'),
(3,'Marvel');