我有一个包含100个元素的php数组。如何在mysql中一次插入整个数组。目前,我使用循环一次插入1个元素,如下所示。
for($x=1;$x<=100;$x++){
mysqli_query($Conn,"INSERT INTO mytable (slno) VALUES ('$myarray[x]')");
}
答案 0 :(得分:2)
这样的事情必须奏效:
$query = "INSERT INTO mytable (slno) VALUES ";
for($x=1;$x<=100;$x++){
$query .= "('$myarray[x]')";
if($x < 100)
{
$query .= ",";
}
else
{
$query .= ";";
}
}
mysqli_query($Conn, $query);
答案 1 :(得分:1)
您可以使用单个INSERT一次插入多行。您的MySQL请求应如下所示:
INSERT INTO
mytable
(slno)
VALUES
(1),
(2),
(3),
...
您可以使用循环来构建一个值数组,然后用逗号隐藏它:
$values = array();
foreach( $myarray as $value)
{
$values[] = '('.$value.')';
}
$query = "INSERT INTO mytable (slno) VALUES ".implode( ',', $values );