2016-09-22 56 views
0

我需要執行我的SQL查詢來在codeigniter腳本中複製MYSQL行。在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參數,是這樣的:本地主機/ index.php文件/ admin/product/duplicate/1,$ para2是產品的編號 – Someone

回答

0

您可以使用此:

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

謝謝,這適用於我。 – Someone