首先抱歉我的英语不好..
我在模型中有这个功能:
function insertUser($data){
$sql = "INSERT INTO USERS VALUES (?, ?, ?, ?, ?, ?, ?, ?)";
$query = $this->db->query($sql, array(
$data["uname"],
$data["nome"],
$data["dnuser"],
$data["muser"],
$data["fruser"],
$data["cpuser"],
$data["euser"],
md5($data["passu"])
));
//return $this->db->_error_number();
}
我有一个主键,当数据正确时,该功能有效,但当插入一个重复的键时,该功能无效。但是我怎么知道呢?我的意思是我怎样才能捕捉到错误 ORA-00001 ??
顺便说一句,注释行不起作用..
非常感谢!!
最佳答案
您可以使用 try catch block ...
function insertUser($data){
$sql = "INSERT INTO USERS VALUES (?, ?, ?, ?, ?, ?, ?, ?)";
try{
$this->db->trans_start();
$query = $this->db->query($sql, array(
$data["uname"],
$data["nome"],
$data["dnuser"],
$data["muser"],
$data["fruser"],
$data["cpuser"],
$data["euser"],
md5($data["passu"])
));
$this->db->trans_commit();
}
catch(Exception $ex){
$this->db->trans_rollback();
echo "Error:".$ex;
}
}
您可以查看以下文章..
http://ellislab.com/codeigniter/user-guide/database/transactions.html
关于php - 在 Codeigniter 中使用 oracle 数据库获取错误号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13782520/