Vous pouvez donner aux espaces réservés les noms que vous voulez, donc quelque chose comme ceci pour votre SQL :
INSERT INTO propAmenities
(amenity_id, property_id)
VALUES
(:amenity_id1, :property_id1),
(:amenity_id2, :property_id2),
(:amenity_id3, :property_id3)
Et ensuite :
$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);
Ou, bien sûr, créez le tableau approprié pour execute
. Dans ce cas, il peut être plus facile de travailler avec des espaces réservés sans nom :
INSERT INTO propAmenities
(amenity_id, property_id)
VALUES
(?, ?),
(?, ?),
(?, ?)
Et puis vous pouvez parcourir vos valeurs et appeler execute
avec le tableau approprié :
$stmt->execute(array(1, 1, 2, 1, 3, 1));