sql >> Database >  >> RDS >> Mysql

Hoe voeg ik meerdere records in één databasereis in met behulp van PDO?

Je kunt de tijdelijke aanduidingen elke gewenste naam geven, dus zoiets als dit voor je SQL:

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

En dan:

$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);

Of bouw natuurlijk de juiste array voor execute . In dit geval zijn niet-benoemde tijdelijke aanduidingen misschien gemakkelijker om mee te werken:

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

En dan kun je door je waarden lopen en execute . aanroepen met de juiste array:

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


  1. Hoe ORA-29283 op te lossen:ongeldige bestandsbewerking

  2. Wederzijdse vrienden sql met join (Mysql)

  3. Doe met ons mee voor een introductie tot toegang met SQL Server

  4. Hoe triggers te maken om de wijzigingsgebeurtenissen toe te voegen aan auditlogboektabellen