资讯专栏INFORMATION COLUMN

跟着阿大学CodeIgniter (三)—— 操作数据库

eechen / 1895人阅读

摘要:提供了强大的数据库函数类,源码是文件。配置数据库文件到进行必要的配置,把数据库名密码编码等填写好。本系列文章跟着阿大学一了解跟着阿大学二文件上传跟着阿大学三操作数据库

碎碎念

过年还来SegmentFault学习的都是好少年~

知识重点

涉及到数据库,就是比较复杂的内容了,所以本文略长,但是CI还是为我们省了很多麻烦事。CI提供了强大的数据库函数类——Active Record,源码是/system/database/DB_active_rec.php文件。

使用

  

$this -> db -> 方法名()

连接数据库

  

$this -> load -> database();

插入

  

$this -> db -> insert(表名, 数据);

更新

  

$this -> db -> where(字段名, 字段值);
$this -> db -> update(表名, 修改值的数组);

查找

  

$this -> db -> where(字段名, 字段值);
$this -> db -> select(查找的字段名);
$query = $this -> db -> get(表名);
return $query -> result();

删除

  

$this -> db -> where(字段名, 字段值);
$this -> db -> delete(表名);

创数据库

本例中,创建数据库ci,用户表user,user表里的字段为编号uid, 用户名uname, 密码upw。

配置数据库文件

到/application/config/database.php进行必要的配置,把数据库名/密码/编码等填写好。

编写模型

由本CI系列博客第一章可知,这些对数据库的操作要写在模型里。所以在model里创建一个user_test.php的文件。

构造函数

class User_test extends CI_Model { // 类名首字母大写,继承CI_Model类

    function __construct() {
        parent::__construct(); // 继承父类的构造函数
        $this -> load -> database(); // 连接数据库
    }
}

插入

function u_insert($arr) {
    $this -> db -> insert("user", $arr);
    //把传来的数据数组插到user表里
}

更新

function u_update($id, $arr) {
    $this -> db -> where("uid", $id); //查找到此id的用户信息
    $this -> db -> update("user", $arr);//更新
}

查找

 function u_select($name) { // 这里是通过用户名来查找,可以自定义其他字段
    $this -> db -> where("uname", $name);
    $this -> db -> select("*"); //选取全部信息
    $query = $this -> db -> get("user");
    return $query -> result(); //返回值
}

删除

 function u_del($id) {
    $this -> db -> where("uid", $id);//查找到此id的用户信息
    $this -> db -> delete("user");//删除此id所有信息
}

整个代码

 load -> database();
        }

        function u_insert($arr) {
            $this -> db -> insert("user", $arr);
        }

        function u_update($id, $arr) {
            $this -> db -> where("uid", $id);
            $this -> db -> update("user", $arr);
        }

        function u_del($id) {
            $this -> db -> where("uid", $id);
            $this -> db -> delete("user");
        }

        function u_select($name) {
            $this -> db -> where("uname", $name);
            $this -> db -> select("*");
            $query = $this -> db -> get("user");
            return $query -> result();
        }
    }
?>

调用此模型

这里写一个注册功能来示范如何使用我们刚刚创建的模型。创建controller/signin.php和views/signin.php文件

编写views/signin.php

name: password:

编写controller/signin.php

 load -> view("signin"); //载入signin视图
    }

    function regist() {
        $this -> load -> model("user_test"); //载入我们之前创建的User_test模型,首字母不用大小
        $arr = array("uname" => $_POST["u_name"], "upw" => $_POST["u_pw"]); 
        //获取提交的表单内容,=>左边是数据表里面的键名,=>右边是通过name获取的表单值
        $this -> user_test -> u_insert($arr); //调用user_test的u_insert方法插入数据
    }
}

使用
访问localhost/ci/index.php/signin,填写表单即可注册,进入数据库看看就有内容插入了。

本系列文章

跟着阿大学CodeIgniter (一)——了解MVC
跟着阿大学CodeIgniter (二)—— 文件上传
跟着阿大学CodeIgniter (三)—— 操作数据库

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/20683.html

相关文章

  • 跟着阿大CodeIgniter (一)——了解MVC

    摘要:它提供一套丰富的标准库以及简单的接口和逻辑结构,其目的是使开发人员更快速地进行项目开发。文件放在里类名首字母必须大写,并继承的类访问的路径为项目名入口控制器名控制器的方法参数。 有的没的 showImg(http://segmentfault.com/img/bVbOml);阿大镇文(-_-メ)~ 阿大你太黑了,回去洗把脸看看有没有救~ 学习背景 CI是一个比较流行的PHP MV...

    wenzi 评论0 收藏0
  • 跟着阿大CodeIgniter (二)—— 文件上传

    摘要:文件名中的扩展名也必须是允许的文件类型。注意通常也有这项限制,可以在文件中指定。上传文件的高度最大值像素为单位。 showImg(http://segmentfault.com/img/bVbPbI); 阿大说,为做一张配图,还要换系统,好苦13 ╮(╯-╰)╭ 原生php上传 在使用CI之前,我们来看看用原生代码是如何上传的,做个对比,就知道CI有多么方便~ 首先创建一个视图c...

    crelaber 评论0 收藏0
  • 跟着阿大CodeIgniter (四)——登录验证

    摘要:镇文图什么是是用于保持状态的基于服务器的方法。可以简单理解为服务器给用户生成了一个通行证。建立文件意味着我们待会要用到控制器的函数退出调用控制器的函数编写控制器类接下来,我们要一步步往这个类里面加功能。 镇文图 showImg(http://segmentfault.com/img/bVbSFL); 什么是Session Session是用于保持状态的基于Web服务器的方法。可以...

    xiaowugui666 评论0 收藏0
  • 腾讯云Codeigniter小记

    摘要:前段时间为了抓取网络文本数据,申请了腾讯云学生机,用的框架弄了一段时间。这个用户既是不可登录的操作系统用户,也是数据库用户。设置数据库用户密码为了能够让和数据库相连接,需要设置数据库用户密码。 打读研之后,更加关注算法的学习,Web开发这一块便落下了,平时也通过微信公众号关注了些,常常感慨,技术的更迭真是日新月异。 前段时间为了抓取网络文本数据,申请了腾讯云学生机,用Python的Sc...

    Ocean 评论0 收藏0
  • 腾讯云Codeigniter小记

    摘要:前段时间为了抓取网络文本数据,申请了腾讯云学生机,用的框架弄了一段时间。这个用户既是不可登录的操作系统用户,也是数据库用户。设置数据库用户密码为了能够让和数据库相连接,需要设置数据库用户密码。 打读研之后,更加关注算法的学习,Web开发这一块便落下了,平时也通过微信公众号关注了些,常常感慨,技术的更迭真是日新月异。 前段时间为了抓取网络文本数据,申请了腾讯云学生机,用Python的Sc...

    alphahans 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<