sql >> Databasteknik >  >> RDS >> Mysql

Hur infogar jag flera poster i en databasresa med PDO?

Du kan ge platshållarna vilka namn du vill, så något så här för din SQL:

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

Och sedan:

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

Eller, naturligtvis, bygg lämplig array för execute . I det här fallet kan dock icke-namngivna platshållare vara lättare att arbeta med:

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

Och sedan kan du gå igenom dina värden och anropa execute med lämplig array:

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


  1. Hashing lösenord med krypto fungerar inte på inloggningen det visar felaktigt pass

  2. Tips för att lagra PostgreSQL-säkerhetskopior på Google Cloud (GCP)

  3. GPL och libmysqlclient

  4. visar en bild lagrad i en mysql blob