2016-09-22 8 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"); 
} 

が、このdosen't作品です。

+0

は$ PARA1 = '重複した' ....もう少し説明 –

+0

@MartavisGriffinパラメータは次のように、URLパラメータです必要がありませんadmin/product/duplicate/1、$ para2は製品 – Someone

答えて

0

あなたはこれを使用することができます:?localhostの/ 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

関連する問題