Php 如何循环数组以插入数据库

Php 如何循环数组以插入数据库,php,mysql,arrays,forms,checkbox,Php,Mysql,Arrays,Forms,Checkbox,我有三个数组,我想在数组的位置[0],然后[1],然后[2]等处添加数组,这样我就可以将这三个字段的值插入到我的数据库中 首先,我连接到数据库并获得结果: <?php require_once("con.php"); $p = payment(); $result = mysqli_query($mysqli, $p); ?> 有没有一种方法可以将所有公司组合到一个要更新的数组中,或者一个包含所有数组的数组中[o]位置,然后[1],等等?这就是我想到的答案。希望它能帮助将来的人:

我有三个数组,我想在数组的位置[0],然后[1],然后[2]等处添加数组,这样我就可以将这三个字段的值插入到我的数据库中

首先,我连接到数据库并获得结果:

<?php
require_once("con.php");
$p = payment();
$result = mysqli_query($mysqli, $p);
?>

有没有一种方法可以将所有公司组合到一个要更新的数组中,或者一个包含所有数组的数组中[o]位置,然后[1],等等?

这就是我想到的答案。希望它能帮助将来的人:

我的php处理程序:

<?php
require_once("con.php");

$ID=$_POST['ID'];
$paid=$_POST['paid'];
$active=$_POST['active'];
$count=count($ID);

 $n= implode(", ", $ID);
 $ID=explode(',',$n);

 $p=implode(", ", $paid);
 $paid=explode(',',$p);

 $a=implode(", ", $active);
 $active=explode(',',$a);

$i=0;
for ($i; $i<$count; $i++)
{

   echo $paid[$i];
   echo $active[$i];
   echo $ID[$i]; 



//adds updated info to database
$uc=updateCompany($paid[$i],$active[$i],$ID[$i]);
$r = mysqli_query($mysqli,$uc); 
echo "Information stored successfully";


 } 

您没有插入函数。您只有一个来更新数据,而不是插入数据。根据您的表结构,您可以将更新查询更改为插入或更新为什么将
input:hidden
input:checkbox
设置为相同的名称?当您提交此文件时,姓氏将覆盖上一个。看起来多维数组中的数据和循环中的数据访问不正确。能否显示var_dump()中列出的数据?隐藏和复选框的名称相同,因为:无法真正回答您的问题(抱歉!),但由于您的代码可能容易受到sql注入的攻击,您可能会觉得值得一读
<?php

function updatePayment($paid, $active, $ID) {
    $uc = "UPDATE `company` SET `paid`='$paid', `active`='$active' WHERE `ID`='$ID'";
    return $uc;
}

$paid = $_POST['paid'];
$active = $_POST['active'];

foreach ($_POST as $key => $value) {
    $ID = $ID[$key];
    $paid = $paid[$key];
    $active = $active[$key];

    $up = updatePayment($paid, $active, $ID);
    $r = mysqli_query($mysqli, $up);
    echo "Information stored successfully";

}


?>
array(4) { 
    ["paid"]=> array(3) { 
        ["CompanyA"]=> string(1) "0" 
        ["CompanyB"]=> string(1) "0" 
        ["CompanyC"]=> string(1) "0" 
    } 
    ["active"]=> array(3) { 
        ["CompanyA"]=> string(1) "1" 
        ["CompanyB"]=> string(1) "1" 
        ["CompanyC"]=> string(1) "0" 
    } 
    ["ID"]=> array(3) { 
        ["CompanyA"]=> string(2) "12" 
        ["CompanyB"]=> string(2) "13" 
        ["CompanyC"]=> string(2) "14" 
    } 
    ["submit"]=> string(6) "Update" 
} 
<?php
require_once("con.php");

$ID=$_POST['ID'];
$paid=$_POST['paid'];
$active=$_POST['active'];
$count=count($ID);

 $n= implode(", ", $ID);
 $ID=explode(',',$n);

 $p=implode(", ", $paid);
 $paid=explode(',',$p);

 $a=implode(", ", $active);
 $active=explode(',',$a);

$i=0;
for ($i; $i<$count; $i++)
{

   echo $paid[$i];
   echo $active[$i];
   echo $ID[$i]; 



//adds updated info to database
$uc=updateCompany($paid[$i],$active[$i],$ID[$i]);
$r = mysqli_query($mysqli,$uc); 
echo "Information stored successfully";


 }