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

Jak wstawić wiele rekordów w jednej podróży do bazy danych za pomocą PDO?

Możesz nadać symbolom zastępczym dowolne nazwy, więc coś takiego dla twojego SQL:

INSERT INTO propAmenities 
(amenity_id, property_id) 
VALUES 
(:amenity_id1, :property_id1), 
(:amenity_id2, :property_id2), 
(:amenity_id3, :property_id3)

A potem:

$stmt->bindParam(':amenity_id1',  1);
$stmt->bindParam(':property_id1', 1);
$stmt->bindParam(':amenity_id2',  2);
$stmt->bindParam(':property_id2', 1);
$stmt->bindParam(':amenity_id3',  3);
$stmt->bindParam(':property_id3', 1);

Lub, oczywiście, zbuduj odpowiednią tablicę dla execute . W takim przypadku nienazwane symbole zastępcze mogą być łatwiejsze w obsłudze:

INSERT INTO propAmenities 
(amenity_id, property_id) 
VALUES 
(?, ?),
(?, ?),
(?, ?)

A potem możesz przejść przez swoje wartości i wywołać execute z odpowiednią tablicą:

$stmt->execute(array(1, 1, 2, 1, 3, 1));


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dynamiczny kursor w procedurze składowanej

  2. Jak utworzyć indeks w części daty pola DATETIME w MySql?

  3. Błąd MySQLTest podczas próby połączenia C# z MySql

  4. SQLSTATE[HY000] [2002] Próba połączenia nie powiodła się.. - Podczas próby połączenia z serwera lokalnego na zdalny

  5. Czy wątek połączenia pymysql jest bezpieczny? Czy wątek kursora pymysql jest bezpieczny?