如何在mysql中将php数组元素插入多行?

时间:2014-10-13 17:34:24

标签: php mysql mysqli mysqli-multi-query

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

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

2 个答案:

答案 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 );