sql >> Database teknologi >  >> RDS >> Mysql

Indsættelse af flere værdier i flere kolonner fra en række data ved hjælp af en PDO forberedt sætning til MySQL

Ja, bindParam binder en parameter til et variabelnavn (reference), ikke en værdi, som manualen siger .

Der er dog en enklere syntaks til din situation. PDOStatement::execute kan tage en række værdier.

public function insert($table, $cols, $values){

    $placeholder = array();
    for ($i = 0; i < count($values); $i++)
      $placeholder[] = '?';

    $sql = 'INSERT INTO '. $table . ' (`' . implode("`, `", $cols) . '`) ';
    $sql.= 'VALUES (' . implode(", ", $placeholder) . ')';

    $stmt = $this->dbh->prepare($sql);
    $stmt->execute($values);

}


  1. MySQL FORKLAR:Brug af indeks vs. Brug af indeksbetingelse

  2. Adgangsformular overlappende kombinationsboks viser intet i rullemenuen

  3. Konverter MySQL script til SQL Server

  4. Sådan omdøbes en kolonne i SQL