sql >> データベース >  >> RDS >> Mysql

PDOを使用した複数のインサート

    いくつかのこと:

    1. for内の2番目のprepareステートメントを削除します ループ
    2. バインドされたパラメータをVALUES()に追加します SQLステートメントの
    3. $imagesにインデックスを付ける forの配列 イテレータをループするか、foreachを使用します

    調整されたforを参照してください ループ:

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

    または、foreachを使用します ループ(1次元配列を想定)

    $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. SQLで大量のデータを効率的に挿入

    2. SQLiteSHOWTABLESと同等

    3. MySQL GROUP_CONCATをハックして、限られた数の行をフェッチする方法は?

    4. PHPページネーションクラス