Mysql
 sql >> Database >  >> RDS >> Mysql

Come faccio a inserire più record in un viaggio di database utilizzando PDO?

Puoi dare ai segnaposto i nomi che desideri, quindi qualcosa del genere per il tuo SQL:

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

E poi:

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

O, naturalmente, costruisci l'array appropriato per execute . In questo caso, tuttavia, potrebbe essere più facile lavorare con i segnaposto senza nome:

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

E poi puoi scorrere i tuoi valori e chiamare execute con l'array appropriato:

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