雷林鹏分享:CodeIgniter 数据库操作

  在平时项目开发过程中,除了处理那些繁琐的逻辑过程外,还有一个重要的任务就是对数据库的操作处理。这里总结下自己平时使用CI过程中使用的如何对数据库进行操作处理。

  在CI框架中,我们一般会把对数据库的操作放在models中,下面以文章操作类article_model.php为例:

  1、数据库链接

  class Article_model extends CI_Model

  {

  private $admin = null;

  public function __construct()

  {

  $this->admin->load->database('admin', true);

  }

  }

  解释一下,这里使用一个 $admin 属性的目的是为了多数据库操作的情况下使用,如果你的项目中只有一个数据库那么你可以这样

  $this->load->database();

  2、查询操作

  对于查询操作自己不是很喜欢使用CI中那种链式操作方式,还是喜欢写些原生的SQL语句。这里使用的是封装查询:

  $sql = "SELECT * FROM some_table WHERE id = ? AND status = ? AND author = ?";

  $this->admin->query($sql, array(3, 'live', 'Rick'));

  注意:这里使用query时我们不是用

  $this->db->query($sql, array(3, 'live', 'Rick'));

  而是用

  $this->admin->query($sql, array(3, 'live', 'Rick'));

  这就是刚才说的多数据库的区别。

  还有,使用封装查询的第二个好处是所有的值都会被自动转义,形成了较为安全的查询语句。你无需手动地去转义这些数据;控制器将会自动为你进行。

  完整的查询代码:

  /**

  * @param int $id

  * @param string $status

  * @param string $author

  * @return mixed

  */

  public function article($id, $status, $author)

  {

  $sql = "SELECT * FROM some_table WHERE id = ? AND status = ? AND author = ?";

  $query = $this->admin->query($sql, array($id, $status, $author));

  return $query->result_array(); //结果返回数组

  return $query->result(); //结果返回对象

  }

  3、插入操作

  插入操作相对查询来说就比较简单了,这里不过多介绍,直接上代码:

  /**

  * @param array $data 需插入数据,注意数组key与表字段名对应

  * @return bool

  */

  public function add($data)

  {

  return $this->admin->insert('tableName', $data);

  }

  4、更新操作

  /**

  * @param int $id 条件

  * @param array $data 需修改的数据,注意数组key与表字段名对应

  * @return bool

  */

  public function update($id, $data)

  {

  $this->admin->where('id', $id); //更新条件,根据实际情况自行修改

  return $this->admin->update('tableName', $data);

  }

  5、删除操作

  /**

  * @param int $id 删除条件

  * @return bool

  */

  public function delete($id)

  {

  $this->admin->where('id', $id); //删除条件,根据实际情况自行修改

  return $this->admin->delete('tableName');

  }

  上面就是CI中对数据库的基本操作方法,对于其他的,如:查询总数、查询缓存、转义查询、事务等操作,可以参考CI手册。

  文章转载自 [http://www.php230.com](编辑:雷林鹏 来源:网络 侵删)

转载于:https://www.cnblogs.com/linpeng1/p/10911376.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值