0

我如果有这样的输入,但是这两个输入会重复多次。所以它可能是:

    <input name="Gpodaciogolubu[]" type="text">
    <input name="Gpodaciogolubu_godina[]" type="number">

    <input name="Gpodaciogolubu[]" type="text">
    <input name="Gpodaciogolubu_godina[]" type="number">

    <input name="Gpodaciogolubu[]" type="text">
    <input name="Gpodaciogolubu_godina[]" type="number">
...

是否可以使用 while 或 foreach 循环同时获取两个值并将其插入数据库中,例如:

"INSERT INTO database (field1, filed2) VALUES ('$_POST["Gpodaciogolubu"]','$_POST["Gpodaciogolubu_godina"]')"

我在 PHP/MySQL 中编码

4

1 回答 1

0

首先构建一个要插入的行数组:

$rows = []; // or array() in PHP 5.3 and older
$l = count($_POST['Gpodaciofolubu']);
for( $i=0; $i<$l; $i++) {
    $rows[] = "("
        ."'".mysql_real_escape_string($_POST['Gpodaciofolubu'][$i])."', "
        .intval($_POST['Gpodaciofolubu_godina'][$i]) // since you have `type="number"`
    .")";
}

然后批量插入它们:

mysql_query("insert into `database` (`field1`, `field2`) values ".implode(",",$rows));

当然,这假设您正在使用mysql扩展程序。这个假设是基于完全没有尝试清理您的输入。

xkcd

于 2013-04-13T17:41:13.877 回答