加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 在Codeigniter中使用oracle数据库获取错误号

发布时间:2020-12-13 16:19:45 所属栏目:PHP教程 来源:网络整理
导读:首先抱歉我的英语不好.. 我在模型中有这个功能: 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["cpuse
首先抱歉我的英语不好..

我在模型中有这个功能:

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?

BTW注释行不起作用..

非常感谢你!!

解决方法

你可以使用try catch block …

function insertUser($data){

$sql = "INSERT INTO USERS VALUES (?,?)";

try{
$this->db->trans_start();
$query = $this->db->query($sql,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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读