这两天在搞CI框架中的事务提交及回滚,再网上搜了一些资料,很不幸,基本都没有用!!!
实际上在网上搜到的内容基本都是从CI用户帮助手册中复制粘贴来的,有的还没有粘贴全,
如果仅仅是这样还不至于让我用这么大的字号写基本都没有用!!!
主要原因是,这些ctrl+c 和 ctrl+v来的东西根本就没有验证过,大家一股脑的就都粘贴出来,然后就不管了,
着实给我等菜鸟带来很多麻烦,我认为像这种技术性甚至谈不上技术性的东西放到网上是为他人或自己提供方便的,
大家本意是好的,但是不经过验证就扔出来,未免有点儿戏。碰巧你写出来的东西别人能用,那他肯定感谢你,
但用你的东西漏洞百出,估计感谢也变味了。
牢骚发完了,说说我遇到的问题,及解决办法。
功能利用:CI框架事务提交及回滚
问题描述:数据库操作发生错误进行回滚前,程序自动结束,但回滚操作有效
(看到这是不是有点晕,自动结束了怎么还能回滚,往下看)
问题发现:
先来看一段代码
$this->db->trans_start();
$this->db->query('AN SQL QUERY...');
$this->db->query('ANOTHER QUERY...');
$this->db->trans_complete();
if ($this->db->trans_status() === FALSE)
{
// 生成一条错误信息... 或者使用 log_message() 函数来记录你的错误信息
// ROLLBACK操作
}
基本上在网上搜索【CI框架】【事务】为关键字的文章,绝大部分就是上面这段代码,而且这段代码也确实有效。
但是&#x