2016-09-22 5 views
0

codeigniter 스크립트에서 MYSQL 행을 복제하려면 SQL 쿼리를 실행해야합니다. codeigniter에서 SQL 쿼리 실행

내 코드

if ($para1 == 'duplicate'){ 
$query = $this->db->query("CREATE TEMPORARY TABLE tmptable_1 SELECT * FROM product WHERE `product_id` = ".$para2); 
$query = $this->db->query("UPDATE tmptable_1 SET primarykey = NULL"); 
$query = $this->db->query("INSERT INTO product SELECT * FROM tmptable_1"); 
$query = $this->db->query("DROP TEMPORARY TABLE IF EXISTS tmptable_1"); 
} 

하지만이 나던 작품입니다.

+0

은 $ para1 = '중복'... 조금 더 설명 –

+0

@MartavisGriffin 매개 변수는 다음과 같이 URL 매개 변수입니다 필요합니까 admin/product/duplicate/1, $ para2는 제품 – Someone

답변

0

이 사용할 수 있습니다 : 로컬 호스트/index.php를/:

if ($para1 == 'duplicate'){ 
$table = 'product'; 
$primary_key_field = 'product_id'; 
$primary_key_val = $para2; 
    /* generate the select query */ 
    $this->db->where($primary_key_field, $primary_key_val); 
    $query = $this->db->get($table); 

    foreach ($query->result() as $row){ 
     foreach($row as $key=>$val){   
      if($key != $primary_key_field){ 
      /* $this->db->set can be used instead of passing a data array directly to the insert or update functions */ 
      $this->db->set($key, $val);    
      }//endif    
     }//endforeach 
    }//endforeach 

    /* insert the new record into table*/ 
    return $this->db->insert($table); 
} 
+0

의 ID입니다. 감사합니다.이 제품은 저에게 적합합니다. – Someone