2013-05-28 2 views
0

오라클 데이터베이스로 CodeIgniter에서 작업하기. 이제 문제는 $ this-> db-> insert_id(); MySQL DB에서 완벽하게 작동하지만 여기서는 작동하지 않습니다. 오류 리포트 :codeigniter oracle get insert_id()

데이터베이스 오류가 내가 마지막으로 삽입 된 ID를 얻을 수있는 방법

This feature is not available for the database you are using. 

Filename: D:\xampp\htdocs\spiceram\system\database\drivers\oci8\oci8_driver.php 

Line Number: 503 

을 발생;

+0

이 기능을 사용할 수 없습니다 - 어쩌면 여기 http://stackoverflow.com/questions/3558433/php-oracle-take-the-autogenerated-id-after-an-insert 참조 – jimbo2087

답변

0
private function insert() { 
    $this->ID = $this->getNextId(); 
    $this->db->insert($this->getTableName(), $this); 
    $this->log($this->ID); 
} 
private function getNextId() { 
    $this->db->select($this->getTableName()."_SEQUENCE.NEXTVAL AS NEXTID", FALSE); 
    $this->db->from("dual"); 
    $query = $this->db->get(); 
    $row = $query->row(); 
    return $row->NEXTID; 
} 

희망이 오라클 데이터베이스의 경우에 문제를 해결해야한다.

1

이 코드는 코드 반환 ID입니다.

public function new_req($emp_id, $dep_id, $note) 
{ 
    $query = $this->db->query('SELECT MAX(REQ_ID)+1 as ID FROM REQ'); 
    $row = $query->row(); 
    $id = $row->ID; 

    if($id == NULL) $id = 1; 

    $data["REQ_ID"] =$id; 
    $data["EMP_ID"] =$emp_id; 
    $data["DEP_ID"]  =$dep_id; 
    $data["REQ_TYPE"] =1; 
    $data["REQ_NOTE"] =$note; 
    $data["IP"]   =$_SERVER['REMOTE_ADDR']; 

    $this->db->insert("REQ",$data); 
    return $id; 
} 
관련 문제