PHP将多行发布到MySQL中

PHP将多行发布到MySQL中,php,mysql,rows,Php,Mysql,Rows,我有一张名为“水果”的桌子: id fruit 1 Apple 1 Banana 2 Apple 2 Apple 2 Pear 我希望能够使用PHP一次添加几行 我试着用两组文本框来表示id和水果,但使用最后一组文本框只能插入一行 编辑: 如果我有这样一张桌子,我该怎么办: id fruit taste 1 Apple Good 1 Banana Okay 2

我有一张名为“水果”的桌子:

id fruit 1 Apple 1 Banana 2 Apple 2 Apple 2 Pear 我希望能够使用PHP一次添加几行

我试着用两组文本框来表示id和水果,但使用最后一组文本框只能插入一行

编辑:

如果我有这样一张桌子,我该怎么办:

id fruit taste 1 Apple Good 1 Banana Okay 2 Apple Good 2 Apple Bad 2 Pear Good
在insert语句中,只需添加值,如下所示:

在tbl_名称中插入a、b、c值1、2、3、4、5、6、7、8、9

以你为例

在水果中加入“橙色”、“柠檬”、“酸橙”等水果价值

应该有用


在insert语句中,只需添加值,如下所示:

在tbl_名称中插入a、b、c值1、2、3、4、5、6、7、8、9

以你为例

在水果中加入“橙色”、“柠檬”、“酸橙”等水果价值

应该有用


MySQL在一个查询中支持多个插入:

INSERT INTO table (field1, field2) VALUES (values1a, values2a), (values1b, values2b), etc...

MySQL在一个查询中支持多个插入:

INSERT INTO table (field1, field2) VALUES (values1a, values2a), (values1b, values2b), etc...

您需要使用方括号[]正确命名文本框以形成一个数组,然后通过POST数组循环插入数据。在使用mysql\u real\u escape\u字符串或准备好的查询运行查询之前,请确保正在转义数据

编辑:更新示例,因为OP向问题添加了信息

在您提供的扩展示例中,味道似乎只有几个选择。在这种情况下,我将在文本框上使用元素。看看我的例子,我个人会怎么做

形式 值得注意的变化:使用PHP中的一个简单循环,您可以指定要显示的字段数量,并轻松地向taste select框添加其他选项。我在[]中放置了一个任意数字,以确保我们在处理表单时将水果与味道联系起来

<?php
$n = 5; //Number of fields to show
$tastes = array('Great', 'Good', 'Okay', 'Bad', 'Horrible');

for($i=0;$i<$n;$i++) {
  echo '<p>';
  echo '<input type="text" name="fruit['.$i.']" /> ';
  echo '<select name="taste['.$i.']">';
  foreach($tastes as $t) {
    echo '<option value="'.htmlentities($t).'">'.$t.'</option>';
  }
  echo '</select>';
  echo '</p>';
}
echo '<input type="submit" name="submit" value="Submit" />';
?>

您需要使用方括号[]正确命名文本框以形成一个数组,然后通过POST数组循环插入数据。在使用mysql\u real\u escape\u字符串或准备好的查询运行查询之前,请确保正在转义数据

编辑:更新示例,因为OP向问题添加了信息

在您提供的扩展示例中,味道似乎只有几个选择。在这种情况下,我将在文本框上使用元素。看看我的例子,我个人会怎么做

形式 值得注意的变化:使用PHP中的一个简单循环,您可以指定要显示的字段数量,并轻松地向taste select框添加其他选项。我在[]中放置了一个任意数字,以确保我们在处理表单时将水果与味道联系起来

<?php
$n = 5; //Number of fields to show
$tastes = array('Great', 'Good', 'Okay', 'Bad', 'Horrible');

for($i=0;$i<$n;$i++) {
  echo '<p>';
  echo '<input type="text" name="fruit['.$i.']" /> ';
  echo '<select name="taste['.$i.']">';
  foreach($tastes as $t) {
    echo '<option value="'.htmlentities($t).'">'.$t.'</option>';
  }
  echo '</select>';
  echo '</p>';
}
echo '<input type="submit" name="submit" value="Submit" />';
?>

例如,您可以创建元素的html数组

在html中

<form action='save.php' method='post'/>
<input name='fruits[]' value='' />
<input name='fruits[]' value='' />
<input name='fruits[]' value='' />
</form>

例如,您可以创建元素的html数组

在html中

<form action='save.php' method='post'/>
<input name='fruits[]' value='' />
<input name='fruits[]' value='' />
<input name='fruits[]' value='' />
</form>

使用内爆函数进行单次插入

你的HTML

<input type="text" name="fruit[]" />
<input type="text" name="fruit[]" />
<input type="text" name="fruit[]" />

使用内爆函数进行单次插入

你的HTML

<input type="text" name="fruit[]" />
<input type="text" name="fruit[]" />
<input type="text" name="fruit[]" />

就性能而言,最好一次插入多个值。我更新了我的帖子,希望能回答您修改过的问题。就性能而言,最好一次插入多个值。我更新了帖子,希望能回答您修改过的问题。