Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment insérer plusieurs enregistrements dans un voyage de base de données à l'aide de PDO ?

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