我有一个包含 100 个元素的 php 数组。如何在mysql中一次插入整个数组。目前,我使用循环一次插入 1 个元素,如下所示。
for($x=1;$x<=100;$x++){
mysqli_query($Conn,"INSERT INTO mytable (slno) VALUES ('$myarray[x]')");
}
我有一个包含 100 个元素的 php 数组。如何在mysql中一次插入整个数组。目前,我使用循环一次插入 1 个元素,如下所示。
for($x=1;$x<=100;$x++){
mysqli_query($Conn,"INSERT INTO mytable (slno) VALUES ('$myarray[x]')");
}
像这样的东西必须起作用:
$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);
您可以使用单个 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 );