Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

PDO MySQL:Sisipkan beberapa baris dalam satu kueri

Cara mudah untuk menghindari komplikasi ini adalah seperti ini

$stmt = $pdo->prepare('INSERT INTO foo VALUES(:a, :b, :c)');
foreach($data as $item)
{
    $stmt->bindValue(':a', $item[0]);
    $stmt->bindValue(':b', $item[1]);
    $stmt->bindValue(':c', $item[2]);
    $stmt->execute();
}

Namun, ini mengeksekusi pernyataan beberapa kali. Jadi, lebih baik jika kita membuat satu query yang panjang untuk melakukan ini.

Berikut adalah contoh bagaimana kita dapat melakukannya.

$query = "INSERT INTO foo (key1, key2) VALUES "; //Prequery
$qPart = array_fill(0, count($data), "(?, ?)");
$query .=  implode(",",$qPart);
$stmt = $dbh -> prepare($query); 
$i = 1;
foreach($data as $item) { //bind the values one by one
   $stmt->bindValue($i++, $item['key1']);
   $stmt->bindValue($i++, $item['key2']);
}
$stmt -> execute(); //execute



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Berbagai Cara untuk Mengisi Pengguna MySQL

  2. Bisakah saya mencampur API MySQL di PHP?

  3. SUM() Fungsi di MySQL

  4. MySQL TAMBAHKAN KOLOM

  5. MICROSECOND() Contoh – MySQL