-1

我有一个包含 100 个元素的 php 数组。如何在mysql中一次插入整个数组。目前,我使用循环一次插入 1 个元素,如下所示。

for($x=1;$x<=100;$x++){
    mysqli_query($Conn,"INSERT INTO mytable (slno) VALUES ('$myarray[x]')");
}
4

2 回答 2

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);
于 2014-10-13T17:39:52.380 回答
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 );
于 2014-10-13T17:43:37.737 回答