Php sql insert使用嵌套的foreach重复向表中插入数据

Php sql insert使用嵌套的foreach重复向表中插入数据,php,sql,foreach,nested,Php,Sql,Foreach,Nested,我尝试使用嵌套的foreach插入输入字段数组。如果我为一个字段提供一个值,则效果良好,但如果我提供多个字段,则插入操作将重复8次 PHP: 输入: 1.品牌:cam型号:mac系列:rak 2.品牌:cam型号:mac系列:dam 但得到的结果是尝试: foreach ( $_POST['fields'] as $key=>$value ) { $value1 = $_POST['fields1'][$key]; $value2 = $_POST['fields2'][$

我尝试使用嵌套的foreach插入输入字段数组。如果我为一个字段提供一个值,则效果良好,但如果我提供多个字段,则插入操作将重复8次

PHP:

输入:

1.品牌:cam型号:mac系列:rak 2.品牌:cam型号:mac系列:dam

但得到的结果是

尝试:

foreach ( $_POST['fields'] as $key=>$value ) {
    $value1 = $_POST['fields1'][$key];
    $value2 = $_POST['fields2'][$key];
    $value3 = $_POST['fields3'][$key];


    $inserted_website_id = 1;


    //Insert into users_websites_link table
    $sql_users_website = sprintf("INSERT INTO users_websites_link (UserID, CameraID,make, model ,serial,description2) VALUES ('%s','%s','%s','%s','%s','%s')",
                           mysql_real_escape_string($inserted_user_id),
                           mysql_real_escape_string($inserted_website_id),
                           mysql_real_escape_string($value),
                            mysql_real_escape_string($value1),
                            mysql_real_escape_string($value2),
                            mysql_real_escape_string($value3) );  
    $result_users_website = mysql_query($sql_users_website);
}

您有4个循环,每个循环不仅执行自身的迭代次数,而且执行次数与周围循环的迭代次数相同。这不是不寻常的行为。请注意,mysql_*函数已被弃用,您应该使用mysqli_*函数或PDO。它只插入一个字段值
foreach ( $_POST['fields'] as $key=>$value ) {
    $value1 = $_POST['fields1'][$key];
    $value2 = $_POST['fields2'][$key];
    $value3 = $_POST['fields3'][$key];


    $inserted_website_id = 1;


    //Insert into users_websites_link table
    $sql_users_website = sprintf("INSERT INTO users_websites_link (UserID, CameraID,make, model ,serial,description2) VALUES ('%s','%s','%s','%s','%s','%s')",
                           mysql_real_escape_string($inserted_user_id),
                           mysql_real_escape_string($inserted_website_id),
                           mysql_real_escape_string($value),
                            mysql_real_escape_string($value1),
                            mysql_real_escape_string($value2),
                            mysql_real_escape_string($value3) );  
    $result_users_website = mysql_query($sql_users_website);
}