sql >> Databasteknik >  >> RDS >> Mysql

Flera skär med PDO

Flera saker:

  1. Ta bort den andra prepare-satsen inuti for loop
  2. Lägg till bundna parametrar i VALUES() av sql-satsen
  3. Indexera $images array med for loop iterator eller använd foreach

Se justerad for loop:

$stmt = $this->db->prepare("INSERT INTO images (category_id, dir_image) 
                            VALUES (:category_id, :dir_image)");

$stmt->bindParam(":category_id" ,$lastId); 
$stmt->bindParam(":dir_image", $image);
for ($i = 0; $i < count($images); $i++){
    $image = $images[$i];
    $stmt->execute();
} 

Alternativt med foreach loop (förutsatt en endimensionell array) :

$stmt = $this->db->prepare("INSERT INTO images (category_id, dir_image) 
                            VALUES (:category_id, :dir_image)");

$stmt->bindParam(":category_id", $lastId); 
$stmt->bindParam(":dir_image", $item);
foreach ($images as $item){
    $stmt->execute();
} 



  1. Bästa MySQL DigitalOcean-prestanda – ScaleGrid vs. DigitalOcean Managed Databases

  2. Kan MySQL FIND_IN_SET eller motsvarande fås att använda index?

  3. Hur deklarerar man en variabel i MySQL?

  4. Introduktion till SQL-datatyper