提问者:小点点

配对每个数组,然后将其插入mysql DB


如何将每个数组配对,然后将其插入到每个mysql表列上,下面是我拥有的一个数组:

Array ( [0] => 577777 [1] => 986010 )
Array ( [0] => 012 [1] => 015 )
Array ( [0] => 5252525252525252 [1] => 3131313131313131 )

这是我到目前为止使用array_merge_recursive尝试的代码,但它无法像上面的DB视图那样插入,最终插入到6个不同的行

我的代码:

//some code . . . then
/* insert each row */
            $c1 = (getContents($each_array, 'C1 : ', ' ') );
            $c2 = (getContents($each_array, 'C2: ', ' ') );
            $c3 = (getContents($each_array, 'C3: ', ' ') );
        $join_array = array_merge_recursive($c1,$c2,$c3);

    
    /* Insert Statement */
    foreach ($join_array as $key => $value) {

        $qry ="insert into raw_file (rawtext) values('".$value."')";
        mysqli_query($conn,$qry) or trigger_error("Query Failed! : ".mysqli_error($conn), E_USER_ERROR);

    }

共1个答案

匿名用户

FWIW,一个可能的解决方案:

重要提示:此解决方案并没有修复SQL注入风险,它只是展示了如何将原始数组重组为单个源数组,并将数组数据复制到MySQL数据库表中。

<?php
$arr0 = [577777, 986010];
$arr1 = ['012', '015'];
$arr2 = [5252525252525252, 3131313131313131];

// create array with records
$result = array_map(null, $arr0, $arr1, $arr2);

// Insert records
foreach ($result as $record) {
    // store record fields in variables
    list($field0, $field1, $field2) = $record;

    $qry = "INSERT INTO raw_file(columns1,columns2,columns3) VALUES('" . $field0 . "','" . $field1 . "','" . $field2 . "')";
    mysqli_query($conn, $qry) or trigger_error("Query Failed! : " . mysqli_error($conn), E_USER_ERROR);
}

相关问题