Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Várias inserções com PDO


Varias coisas:
  1. Remova a segunda instrução prepare dentro de for laço
  2. Adicione parâmetros vinculados ao VALUES() da instrução sql
  3. Indexar as $images array com for iterador de loop ou use foreach

Veja ajustado for ciclo:
$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();
} 

Alternativamente com foreach loop (assumindo uma matriz de uma dimensão) :
$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();
}