我使用以下php for循环在数据库中插入数组值。我需要更正我的代码。我想查询for循环。请帮我纠正我的代码。
<?php
/*********************/
$data = $_REQUEST['columns_one'];
$store_data = explode(",",$data);
foreach($store_data as $key =>$value)
{
//echo $value;
$query = "insert into fb_savedforms(form_id,form_structure) values ('','".$value."')";
$result = mysql_query($query);
}
/**************************************/
?>
答案 0 :(得分:1)
使用批量插入在循环中构建查询,但只执行一次。
来自How to do a batch insert in MySQL
使用VALUES语法的INSERT语句可以插入多行。为此,请包含多个列值列表,每个列值都括在括号内并用逗号分隔。
示例:
INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9);
答案 1 :(得分:1)
尝试这样的事情:
$data = $_REQUEST['columns_one'];
$store_data = explode(",",$data);
//setup the insert query
$query = "INSERT INTO fb_savedforms(form_id,form_structure) VALUES ";
$values = array(); //store all the new rows
foreach($store_data as $key =>$value){
$values[] = "('','".$value."')";
}
$query .= implode(',', $values) . ';';
$result = mysql_query($query);
大免责声明:此代码尚未经过测试,但应说明您可以拥有多个值集。
答案 2 :(得分:-2)
$data = $_REQUEST['columns_one'];
$store_data = explode(",",$data);
$query = '';
foreach($store_data as $key =>$value)
{
//echo $value;
$query .= "insert into fb_savedforms(form_id,form_structure) values ('','".$value."'); ";
}
$result = mysql_query($query);