数组称为“工作”。它看起来像这样:
Array
(
[type] => Array
(
[0] => 1
[1] => 5
)
[description] => Array
(
[0] => 2
[1] => 6
)
[hours] => Array
(
[0] => 3
[1] => 7
)
[amount] => Array
(
[0] => 4
[1] => 8
)
)
我需要在两次迭代中将所有值发送到数据库(MySQL)。类似的东西:
INSTERT INTO `works` (`type`, `decsripion`, `hours`, `amount`) VALUES (works[type][0], works[decsription][0], works[hours][0], works[amount][0]);
INSTERT INTO `works` (`type`, `decsripion`, `hours`, `amount`) VALUES (works[type][1], works[decsription][1], works[hours][1], works[amount][1]);
答案 0 :(得分:1)
for($i=0; $i<count($works['type']); $i++) {
$query = "INSERT INTO `works` (`type`, `decsripion`, `hours`, `amount`) VALUES ('{works[type][$i]}', '{works[description][$i]}', '{works[hours][$i]}', '{works[amount][$i]}')";
mysql_query($query);
}
如果已经连接并选择了数据库,则提供。 有更好的方法可以做到这一点,但这取决于您使用的框架。例如,您可能希望在尝试将这些值插入数据库之前转义这些值。
答案 1 :(得分:0)
您好,您可以试试这个。
<?php
$works = array('type'=>array(1,5),'description'=>array(2,6),'hours'=>array(3,7),'amount'=>array(4,8));
$insert_query = 'INSERT INTO works(type,description,hours,amount) values ';
for($i=0; $i<count($works['type']); $i++) {
$insert_query .= "('".$works['type'][$i]."','".$works['description'][$i]."','".$works['hours'][$i]."','".$works['amount'][$i]."')," ;
}
$query = rtrim($insert_query, ',');
//echo $query;
if(!mysqli_query($con,$query)){
die('Error: ' . mysqli_error($con));
}else{
echo "record added";
}
在此我已使用bulk insert into
,如果您想查看echo
,可以query
query
。根据您的问题,我假设所有array
表示type
,description
等具有相同的length
,因此我使用$works['type']
来计算for
} loop
步骤