Changeset 17852


Ignore:
Timestamp:
2009/02/27 18:10:34 (15 years ago)
Author:
Seasoft
Message:

MySQL での意図しないタイミングでのコミットを回避。
 http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=3504&forum=1

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/comu-ver2/data/class/pages/admin/products/LC_Page_Admin_Products_UploadCSV.php

    r17600 r17852  
    359359        } 
    360360 
    361         if($arrRet['product_id'] != "" && $arrRet['product_class_id'] != "") { 
     361        if($sqlval['product_id'] != "" && $sqlval['product_class_id'] != "") { 
    362362 
    363363            // UPDATEの実行 
    364364            $where = "product_id = ?"; 
    365365            $objQuery->update("dtb_products", $sqlval, $where, array($sqlval['product_id'])); 
     366             
     367            $product_id = $sqlval['product_id']; 
    366368        } else { 
    367  
    368369            // 新規登録 
    369             // postgresqlとmysqlとで処理を分ける 
    370             if (DB_TYPE == "pgsql") { 
    371                 $product_id = $objQuery->nextval("dtb_products","product_id"); 
    372             }elseif (DB_TYPE == "mysql") { 
    373                 $product_id = $objQuery->get_auto_increment("dtb_products"); 
    374             } 
    375             $sqlval['product_id'] = $product_id; 
     370 
     371            unset($sqlval['product_id']); 
    376372            $sqlval['create_date'] = $time; 
    377  
     373             
    378374            // INSERTの実行 
    379375            $objQuery->insert("dtb_products", $sqlval); 
     376             
     377            $product_id = $objQuery->currval("dtb_products","product_id"); 
    380378        } 
    381379 
    382380        // カテゴリ登録 
    383381        $arrCategory_id = explode("|", $arrRet["category_id"]); 
    384         $objDb->updateProductCategories($arrCategory_id, $sqlval['product_id']); 
     382        $objDb->updateProductCategories($arrCategory_id, $product_id); 
    385383 
    386384        // 規格登録 
    387         $this->lfRegistProductClass($objQuery, $arrRet, $sqlval['product_id'], $arrRet['product_class_id']); 
     385        $this->lfRegistProductClass($objQuery, $arrRet, $product_id, $arrRet['product_class_id']); 
    388386 
    389387        // 関連商品登録 
    390         $objQuery->delete("dtb_recommend_products", "product_id = ?", array($sqlval['product_id'])); 
     388        $objQuery->delete("dtb_recommend_products", "product_id = ?", array($product_id)); 
    391389        for($i = 1; $i <= RECOMMEND_PRODUCT_MAX; $i++) { 
    392390            $keyname = "recommend_product_id" . $i; 
     
    395393                $arrProduct = $objQuery->select("product_id", "dtb_products", "product_id = ?", array($arrRet[$keyname])); 
    396394                if($arrProduct[0]['product_id'] != "") { 
    397                     $arrval['product_id'] = $sqlval['product_id']; 
     395                    $arrval['product_id'] = $product_id; 
    398396                    $arrval['recommend_product_id'] = $arrProduct[0]['product_id']; 
    399397                    $arrval['comment'] = $arrRet[$comment_key]; 
Note: See TracChangeset for help on using the changeset viewer.