我被卡住了,我想将数据字段中的表单数据插入到MySQL中:
<input type='text' name='name[]' />` and `<input type='text' name='url[]' />
Run Code Online (Sandbox Code Playgroud)
我知道如何输出一个字段的数据,如本例所示
foreach($_POST['name'] as $name)
{
echo $name;
}
Run Code Online (Sandbox Code Playgroud)
但在我的形式,我有两个<input type='text' name='name[]' />
,<input type='text' name='url[]' />
我怎么能让这个正常工作?
我会尽量避免一遍又一遍地查询数据库,只需将所有内容放在一个大的插入语句中:
$query = "INSERT INTO table1 (name, url) VALUES ";
foreach($_POST['name'] as $i => $name)
{
// Get values from post.
$name = mysql_real_escape_string($name);
$url = mysql_real_escape_string($_POST['url'][$i]);
// Add to database
$query = $query." ('$name','$url') ,";
}
$query = substr($query,0,-1); //remove last char
$result = mysql_query($query);
Run Code Online (Sandbox Code Playgroud)
这样你只需要打一次数据库,使插入更快.
另一个好处是,如果引擎支持事务(InnoDB等),则所有插入都发生在单个事务中.