CodeIgniter - 数据库的增删改查
数据库操作无非是CRUD,用非装逼的语言来说就是增删改查。也许这一节会讲的很泛泛,或者很多人看不懂,没关系,大致的看看,知道是这么回事就好,继续往后看,后面会讲实例,这些枯燥而又抽象的东西可以先跳过,慢慢就会明白了。而且这部分内容CI手册讲的很全面,我也没什么好方式讲的很通俗易懂,索性不重复造那么大的轮子。
连接数据库
想要操作数据库,首先要确认已经配置好数据库连接设置,这点在安装部分的最下面已经讲过,不再重复。
虽然配置好了,但是文件如何加载此类配置?在相应的控制器或者模型里对应的位置添加
$this->load->database();
一般是在模型的构造函数里添加此代码,这样只要调用了该模型,所有控制器和该模型内的其他函数都可以连接数据库。
如果你不知道什么是控制器、模型等,请按我如下操作:
打开 application/models 文件夹新建一个文件 model.php,代码如下:
<?php
class Model extends CI_Model {
public function __construct()
{
$this->load->database();
}
}
读取数据库内容
以上连接数据库的操作都设置好之后,我们就可以来利用CI自带的Active Record模式 来读取数据库内容了。
$query = $this->db->get('news');
return $query->result_array();
get()是用来获取数据库里指定表的内容,没加限定的where之类的,就是获取所有内容。
result_array()意思为返回数组形式的结果集,不加array就是返回对象形式的,更详细的可以参见 Active Record 类 这里不做过多详解。
return是函数内用来返回结果的操作,也可以赋值、var_dump 等之类操作查看$query->result_array();的内容
我一般习惯这样写,比较懒省事:
$query = $this->db->get('news')->result_array();
return $query;
看个人使用喜好了。
插入新数据内容
可以用数组的形式通过$this->db->insert()插入数据,第一个参数为插入数据的表名,第二个参数为数组,键名对应数据表字段名,后面是数据。
$data = array(
'title' => 'My title' ,
'name' => 'My Name' ,
'date' => 'My date'
);
$this->db->insert('mytable', $data);
将执行如下SQL语句: INSERT INTO mytable (title, name, date) VALUES ('My title', 'My name', 'My date')
这样写起来是不是比直接写sql来的要简明的多?
更新数据内容
$data = array(
'title' => $title,
'name' => $name,
'date' => $date
);
$this->db->where('id', $id);
$this->db->update('mytable', $data);
生成:
UPDATE mytable
SET title = '{$title}', name = '{$name}', date = '{$date}'
WHERE id = $id
和插入的代码相比,就多了一个where条件,更新特定条目,不加where就更新所有表内内容了。虽然where和update不在同一行,但是一串数据库的操作会排在一起执行的,这个不用担心。
删除数据内容
$this->db->where('id', $id);
$this->db->delete('mytable');
生成:
DELETE FROM mytable
WHERE id = $id
这里和上面的更新类似,只是加了where条件,没有数组传入。
这样就是基本的数据库增删改查操作,这里只是大致的讲了下,没详细的讲解,以后有时间慢慢完善吧,大家可以参见 Active Record 类。
CodeIgniter - 数据库的增删改查的更多相关文章
- ThinkPHP实现对数据库的增删改查
好久都没有更新博客了,之前老师布置的任务总算是现在可以说告一段落了,今天趁老师还没提出其他要求来更新一篇博客. 今天我想记录的是我之前做项目,自己所理解的ThinkPHP对数据库的增删改查. 首先要说 ...
- Android学习---数据库的增删改查(sqlite CRUD)
上一篇文章介绍了sqlite数据库的创建,以及数据的访问,本文将主要介绍数据库的增删改查. 下面直接看代码: MyDBHelper.java(创建数据库,添加一列phone) package com. ...
- Android 系统API实现数据库的增删改查和SQLite3工具的使用
在<Android SQL语句实现数据库的增删改查>中介绍了使用sql语句来实现数据库的增删改查操作,本文介绍Android 系统API实现数据库的增删改查和SQLite3工具的使用. 系 ...
- Android SQL语句实现数据库的增删改查
本文介绍android中的数据库的增删改查 复习sql语法: * 增 insert into info (name,phone) values ('wuyudong','111') * 删 delet ...
- java jdbc 连接mysql数据库 实现增删改查
好久没有写博文了,写个简单的东西热热身,分享给大家. jdbc相信大家都不陌生,只要是个搞java的,最初接触j2ee的时候都是要学习这么个东西的,谁叫程序得和数据库打交道呢!而jdbc就是和数据库打 ...
- 【转载】通过JDBC对MySQL数据库的增删改查
通过JDBC进行简单的增删改查(以MySQL为例) 目录 前言:什么是JDBC 一.准备工作(一):MySQL安装配置和基础学习 二.准备工作(二):下载数据库对应的jar包并导入 三.JDBC基本操 ...
- 利用API方式进行数据库的增删改查
/* 将数据库的增删改查单独放进一个包 */ package com.itheima28.sqlitedemo.dao; import java.util.ArrayList; import java ...
- MySQL数据库学习笔记(十二)----开源工具DbUtils的使用(数据库的增删改查)
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- Asp.net MVC4 使用EF实现数据库的增删改查
EF的使用 步骤: (1)将EF添加到项目:在Model右击添加新建项 找到ADO.NET实体数据模型,接着... (2)实现数据库的增删改查 查询 (因为在Model中已经添加EF实体了 ...
随机推荐
- Linux系统如何查看版本信息
输入"uname -a ",可显示电脑以及操作系统的相关信息. 输入"cat /proc/version",说明正在运行的内核版本. 输入"c ...
- JavaScript的apply和call方法及其区别
参考资料: http://blog.csdn.net/myhahaxiao/article/details/6952321 apply和call能“劫持”其他对象的方法来执行,其形参如下: apply ...
- C# Socket大文件上传
public sealed class SocketData { private SocketData() { } public static SendFileMode SendFile(Socket ...
- 通过ajax访问aspx的CodeBehind中的方法
引言 在项目中突然看到,aspx中的ajax可以访问aspx.cs中的方法,觉得很新奇,也许是lz少见多怪,不过,真的有发现新大陆似的那种兴奋,你也许知道这代表什么,学会了这种方式,代表你以后,可以建 ...
- ftp (文件传输协议)
ftp (文件传输协议) 锁定 本词条由“科普中国”百科科学词条编写与应用工作项目 审核 . FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议” ...
- Grunt之项目脚手架
在网上搜了下,grunt这方面的教程挺少的,来去都是一些被频繁转载的文章.唉,人艰不拆啊. 首先我们在全局环境中安装grunt-init. npm install -g grunt-init 来看看官 ...
- Java EE学习--Quartz基本用法
新浪博客完全不适合写技术类文章.本来是想找一个技术性的博客发发自己最近学的东西,发现博客园起源于咱江苏,一个非常质朴的网站,行,咱要养成好习惯,以后没事多总结总结经验吧.很多时候都在网上搜索别人的总结 ...
- vmware, failed to lock the file
电脑死机,进不了桌面,实在不行就重启,但是在运行着虚拟机,重启后打开VMware虚拟机,提示failed to lock the file,进不去了,急阿,里面不少资料呢...问万能的Google,终 ...
- Entity Framework 自动生成CodeFirst代码
前言 在前面的文章中我们提到Entity Framework的“Code First”模式也同样可以基于现有数据库进行开发.今天就让我们一起看一下使用Entity Framework Power To ...
- PV公式
IP(独立IP): 即Internet Protocol,指独立IP数.00:00-24:00内相同IP地址之被计算一次.PV(访问量): 即Page View, 即页面浏览量或点击量,用户每次刷 ...