为了账号安全,请及时绑定邮箱和手机立即绑定

从 PHP 中的关联数组将数据插入 mysql 数据库

从 PHP 中的关联数组将数据插入 mysql 数据库

PHP
FFIVE 2022-07-16 16:09:07
我有以下关联数组Array (    [0] => Array        (            [0] => Liane  Lanford            [1] => Ken Christenson            [2] => Melissa Jaramillo        )    [1] => Array        (            [0] => $310.40            [1] => $134.75            [2] => $951.78        )    [2] => Array        (            [0] => $0.00            [1] => $0.00            [2] => $0.00        )    [3] => Array        (            [0] => $325.92            [1] => $141.49            [2] => $999.37        )    )数组中有 3 个客户。数量可以是 4,5 或更多。我想将数组中的数据插入到数据库中,如下表我该如何编写 foreach 循环。我尝试了以下但不工作foreach ($array as $payment_type => $payment) {    foreach ($array[payment_type] as $pay => $value) {        mysqli_query($link, "INSERT INTO table(name,subtotal,holdback,total) VALUES ('$pay[0]','$pay[1]','$pay[2]','$pay[3]') ");    }}
查看完整描述

2 回答

?
慕婉清6462132

TA贡献1804条经验 获得超2个赞

您需要做的就是循环数组,然后使用索引访问所有其他值子数组值。我还使用了正确的准备和绑定机制来避免SQL 注入


$stmt = $link->prepare("INSERT INTO table (name,subtotal,holdback,total) VALUES (?,?,?,?)");


foreach ($array[0] as $idx => $payment) {

    $stmt->bind_param('sdsd', $payment,

                              $array[1][$idx],

                              $array[2][$idx],

                              $array[3][$idx]

                );

    $stmt->execute();

}


查看完整回答
反对 回复 2022-07-16
?
扬帆大鱼

TA贡献1799条经验 获得超9个赞

一些代码开始,使用准备好的语句来防止 SQL 注入:


$stmt = $link->prepare('INSERT INTO table(name,subtotal,holdback,total) VALUES (?, ?, ?, ?)');

foreach ($array[0] as $key => $value) {

    $stmt->bind_param('ssss', $value,  $array[1][$key], $array[2][$key],  $array[3][$key]);

    $stmt->execute();

}


查看完整回答
反对 回复 2022-07-16
  • 2 回答
  • 0 关注
  • 97 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信