如何在mysql表中同时插入多个数组值? 我可以处理单值插入。
例如:
$product = json_decode($_POST['product']); // (1,2)
$sub_product = json_decode($_POST['sub_product']); // (3,4)
$plan = json_decode($_POST['plan']);// (5,6)
$months = json_decode($_POST['months']); // (7,8)
我想在mysql
中插入具有相同索引的值类似的东西:
+----+---------+-------------+------+--------+
| id | product | sub_product | plan | months |
+----+---------+-------------+------+--------+
| 1 | 1 | 3 | 5 | 7 |
+----+---------+-------------+------+--------+
| 2 | 2 | 4 | 6 | 8 |
+----+---------+-------------+------+--------+
我已尝试插入单列,但效果很好。
for ($i = 0; $i < count($product); $i++) {
$product = mysql_real_escape_string($product[$i]);
mysql_query("INSERT INTO i_product(product) VALUES('$product')");
}
答案 0 :(得分:0)
您可以使用以下格式执行多个INSERT
操作,
INSERT INTO tbl_name
(a,b,c)
VALUES
(d,e,f),
(g,h,i),
(j,k,l);
以下是参考资料:
由于您将数据作为数组获取,因此INSERT
操作应如下所示:
// your code
mysql_query("INSERT INTO i_product(product, sub_product, plan, months)
VALUES
('" . mysql_real_escape_string($product[0]) . "', '" .
mysql_real_escape_string($sub_product[0]) . "', '" .
mysql_real_escape_string($plan[0]) . "', '" .
mysql_real_escape_string($months[0]) . "'),
('" . mysql_real_escape_string($product[1]) . "', '" .
mysql_real_escape_string($sub_product[1]) . "', '" .
mysql_real_escape_string($plan[1]) . "', '" .
mysql_real_escape_string($months[1]) . "')");
旁注:请不要使用mysql_
数据库扩展,从PHP 5.5开始不推荐使用它们,并在PHP 7中完全删除。使用mysqli
或{ {1}}而不是。