如何将数组插入数据库

112*_*233 4 php

$rate=[10,20,40,50,70];
Run Code Online (Sandbox Code Playgroud)

如何在下面的查询中插入值?

$sql="INSERT INTO rental(day_1,day_3,day_7,day_15,day_30)
      VALUES('{$rate[0]}','{$rate[1]}', '{$rate[2]}','{$rate[3]}','{$rate[4]}')";

$stmt =connection::$pdo->prepare($sql);
$stmt->execute();
Run Code Online (Sandbox Code Playgroud)

我在下面尝试过,但它在记录的所有列中插入相同的值,并为每个新值创建新记录:

foreach($rate as $key->$value)
{  
    $sql="INSERT INTO rental(day_1,day_3,day_7,day_15,day_30)
          VALUES('{$value}','{$value}', '{$value}','{$value}','{$value}')";

    $stmt =connection::$pdo->prepare($sql);
    $stmt->execute();
Run Code Online (Sandbox Code Playgroud)

根据给出的答案编辑

public function rentalRate()
    {

$rate = implode("','",$this->rate);
$sql = "INSERT INTO rental(day_1,day_3,day_7,day_15,day_30)VALUES('$rate')";
$stmt =connection::$pdo->prepare($sql);
        $stmt->execute();
        unset($rate);
    }
Run Code Online (Sandbox Code Playgroud)

Nar*_*dia 5

简单地使用implode就是这样

$rate = [10,20,40,50,70];
$rate = implode("','",$rate);
$sql = "INSERT INTO rental(day_1,day_3,day_7,day_15,day_30)VALUES('$rate')";
echo $sql;
Run Code Online (Sandbox Code Playgroud)