【发布时间】:2014-05-12 13:36:45
【问题描述】:
我有获取多个数组的 PHP 代码:
<?php
$checkKey = $_POST['key'];
if ($key === $checkKey)
{
$a = array_values($_POST['a']);
$b = array_values($_POST['b']);
$c = array_values($_POST['c']);
$d = array_values($_POST['d']);
if ( (count($a) !== count($b)) || (count($a) !== count($c)) || (count($a) !== count($d)) )
{
die ('Not enough parameters!');
}
else
{
}
}
?>
我想遍历所有数组并构建一个 SQL INSERT 查询,如下所示:
INSERT INTO xyz (a,b,c,d) VALUES (1,2,3,4), (4, 5, 6, 7);
值存储在每个数组中的位置(即在本例中,a 包含值 1 和 4,b 包含值 2 和 5,等等)
我怎样才能做到这一点?
【问题讨论】:
-
旁注(向前看):如果您确实让某人给您一个有效的答案,请记住
key和keys是MySQL reserved words . -
我认为
$key是在某处定义的?您可能需要在使用前检查是否设置了 $a、$b、$c 和 $d (isset()),除非您可以保证所有这些都存在。为什么在比较 count() 时使用“不等价”!==而不是“不等”!=? SQL有有一个数组类型——你在用那个吗? -
使用抽象模型或准备好的语句或某种查询构建器会更简单、更清晰。