dongruo0909 2013-02-25 16:50
浏览 40
已采纳

使用一个PHP表单在MySQL中插入多个记录

INSERT multiple records in MySQL with one PHP form.

Simple Form

<form action="process.php" method="post">
<p><label>Beamline ID</label>
<input type="text" name="bline_id[][bline_id]" />
<label>Flow</label>
<input type="text" name="flow[][flow]" />
</p>
<p><label>Beamline ID</label>
<input type="text" name="bline_id[][bline_id]" />
<label>Flow</label>
<input type="text" name="flow[][flow]" />
</p>
<p><label>Beamline ID</label>
<input type="text" name="bline_id[][bline_id]" />
<label>Flow</label>
<input type="text" name="flow[][flow]" />
</p>
<p><label>Beamline ID</label>
<input type="text" name="bline_id[][bline_id]" />
<label>Flow</label>
<input type="text" name="flow[][flow]" />
</p>
<p><label>Beamline ID</label>
<input type="text" name="bline_id[][bline_id]" />
<label>Flow</label>
<input type="text" name="flow[][flow]" />
</p>
<input name="Submit" type="submit" />
</form>

//process.php

<?php
// connect to the database
include('connect-db.php');


$cnt = count($_POST['bline_id']);
$cnt2 = count($_POST['flow']);

if ($cnt > 0 && $cnt == $cnt2) {
    $insertArr = array();
    for ($i=0; $i<$cnt; $i++) {
        $insertArr[] = "('" . mysql_real_escape_string($_POST['bline_id'][$i]) . "', '" . mysql_real_escape_string($_POST['flow'][$i]) . "')";
}

 $query = "INSERT INTO bltest (bline_id, flow) VALUES " . implode(", ", $insertArr);
 mysql_query($query) or trigger_error("Insert failed: " . mysql_error());
}

echo("<pre>
");
print_r($_POST);
echo("</pre>
");




mysql_close($connection);
?> 

Array results

 Array
 (
 [bline_id] => Array
    (
        [0] => Array
            (
                [bline_id] => 1
            )

        [1] => Array
            (
                [bline_id] => 2
            )

        [2] => Array
            (
                [bline_id] => 3
            )

        [3] => Array
            (
                [bline_id] => 4
            )

        [4] => Array
            (
                [bline_id] => 5
            )

    )

[flow] => Array
    (
        [0] => Array
            (
                [flow] => 11
            )

        [1] => Array
            (
                [flow] => 22
            )

        [2] => Array
            (
                [flow] => 33
            )

        [3] => Array
            (
                [flow] => 44
            )

        [4] => Array
            (
                [flow] => 55
            )

    )

[Submit] => Submit Query
)

the INSERT result is of course 5 rows but no data inserted for $bline_id or $flow. But looking at the array, that is the correct data.

  • 写回答

3条回答 默认 最新

  • doyp9057 2013-03-03 15:56
    关注

    OMG!!!! I finally got it! It was my stupid form!

    corrected below-------

    <form action="process.php" method="post">
    <p><label>Beamline ID</label>
    <input type="text" name="bline_id[]" value="<?php echo $bline_id; ?>" />
    <label>Flow</label>
    <input type="text" name="flow[]"  value="<?php echo $flow; ?>" />
    </p>
    <p><label>Beamline ID</label>
    <input type="text" name="bline_id[]" value="<?php echo $bline_id; ?>" />
    <label>Flow</label>
    <input type="text" name="flow[]"  value="<?php echo $flow; ?>" />
    </p>
    <p><label>Beamline ID</label>
    <input type="text" name="bline_id[]"  value="<?php echo $bline_id; ?>"/>
    <label>Flow</label>
    <input type="text" name="flow[]" value="<?php echo $flow; ?>" />
    </p>
    <p><label>Beamline ID</label>
    <input type="text" name="bline_id[]" value="<?php echo $bline_id; ?>" />
    <label>Flow</label>
    <input type="text" name="flow[]" value="<?php echo $flow; ?>" />
    </p>
    <p><label>Beamline ID</label>
    <input type="text" name="bline_id[]" value="<?php echo $bline_id; ?>" />
    <label>Flow</label>
    <input type="text" name="flow[]" value="<?php echo $flow; ?>" />
    </p>
    <input name="Submit" type="submit" />
    </form>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试
  • ¥20 问题请教!vue项目关于Nginx配置nonce安全策略的问题
  • ¥15 教务系统账号被盗号如何追溯设备
  • ¥20 delta降尺度方法,未来数据怎么降尺度
  • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效
  • ¥15 再不同版本的系统上,TCP传输速度不一致
  • ¥15 高德地图点聚合中Marker的位置无法实时更新
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题