我有一个html表单,允许用户将设备添加到数据库中。一个用户可以添加多个设备项,有时设备之间唯一不同的字段是
存货编号
和
MAC地址
.
例如,他们可能希望添加10台具有相同硬件的Dell PC。他们可以动态地添加
存货编号
和
MAC地址
领域。
表单输入如下所示;
我可以提交表格,输出
print_r($_POST)
是;
Array
(
[make] => Dell
[model] => Optiplex
[inv] => Array
(
[0] => 1544778
[1] => 3344558
[2] => 1644758
[3] => 9844558
)
[mac] => Array
(
[0] => 8877445
[1] => 3311554
[2] => 7788445
[3] => 3214857
)
)
在上面的例子中,我需要创建
四
mysql数据库中的单独记录。
考虑到我需要循环这些值并分别插入它们,我有以下PHP;
$arr_inv = $_POST['inv'];
$arr_mac = $_POST['mac'];
for ($i = 0; $i < count($arr_inv); $i++) {
$sql = "INSERT INTO table (make, model, inv, mac)
VALUES ('" . $make . "', '" . $model . "', '" . $arr_inv[$i] . "','" . $arr_mac[$i];
$stmt = DB::exec($sql);
}
虽然这样做确实有效,并将4个单独的记录插入到数据库中,但这是最好的方法吗/我怎样才能使它更有效?
请忽略代码的任何安全缺陷,仍在处理它。任何建议都很感激。