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

Flere skær med PDO

Flere ting:

  1. Fjern den anden prepare-sætning inde i for sløjfe
  2. Tilføj bundede parametre til VALUES() af sql-sætning
  3. Indeksér $images array med for loop iterator eller brug foreach

Se justeret for sløjfe:

$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 (forudsat en endimensionel matrix) :

$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. MySQL god måde at indsætte en række på, hvis den ikke findes, eller opdatere den, hvis den bliver fundet

  2. Hvorfor bruge fremmednøgler uden handling ved sletning eller opdatering

  3. Advarsel:PDO::__construct():[2002] Ingen sådan fil eller mappe (forsøger at oprette forbindelse via unix:///tmp/mysql.sock) i

  4. Sammenkæd en streng og et tal i MySQL