我有获取多个数组的 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,等等)
我怎样才能实现这一目标?
最佳答案
只需使用 for()
循环来迭代从 0
到 count($a)
的索引(您可以使用任何数组,它们检查大小相同)。
$sql = 'insert into xyz (a, b, c, d) values ';
for ($i = 0, $l = count($a); $i < $l; ++$i) {
$sql .= "('".
// it's really important to escape the input!
mysqli_real_escape_string($link, $a[$i]).','.
mysqli_real_escape_string($link, $b[$i]).','.
mysqli_real_escape_string($link, $c[$i]).','.
mysqli_real_escape_string($link, $d[$i]).
"'), ";
}
$sql = substr($sql, 0, -2); // trim down the last ', '
关于PHP:迭代多个数组并构建 SQL INSERT 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23610571/