Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Wstawianie wielu wartości do wielu kolumn z tablicy danych za pomocą przygotowanej instrukcji PDO dla MySQL

Tak, bindParam wiąże parametr z nazwą zmiennej (odniesienie), a nie wartość, jak mówi podręcznik .

Istnieje jednak prostsza składnia dla Twojej sytuacji. PDOStatement::execute może przyjmować tablicę wartości.

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL Zend Framework - SQLSTATE[42000]:Błąd składni lub naruszenie dostępu:1064

  2. Zapytanie SQL do utworzenia bazy danych w MySQL

  3. OperationalError:(2002, Nie można połączyć się z lokalnym serwerem MySQL przez gniazdo '/var/run/mysqld/mysqld.sock' (2))

  4. Jak obliczyć różnicę między dwoma znacznikami czasu w MySQL?

  5. Typ danych wyniku SUM w MySQL