Php sql insert使用嵌套的foreach重复向表中插入数据
我尝试使用嵌套的foreach插入输入字段数组。如果我为一个字段提供一个值,则效果良好,但如果我提供多个字段,则插入操作将重复8次 PHP: 输入: 1.品牌:cam型号:mac系列:rak 2.品牌:cam型号:mac系列:dam 但得到的结果是尝试: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 ( $_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);
}