一  数据库配置文件的配置和自动加载

1 直接修改config文件夹下面的database.php,把数据库相关信息填上去即可

$db['default'] = array('dsn'    => '','hostname' => 'localhost','username' => 'root','password' => '123456','database' => 'tpstudy','dbdriver' => 'mysqli','dbprefix' => '','pconnect' => FALSE,'db_debug' => (ENVIRONMENT !== 'production'),'cache_on' => FALSE,'cachedir' => '','char_set' => 'utf8','dbcollat' => 'utf8_general_ci','swap_pre' => '','encrypt' => FALSE,'compress' => FALSE,'stricton' => FALSE,'failover' => array(),'save_queries' => TRUE
);

如果有多个数据库或数据源也可以配置多个,然后在load的时候配置参数就能访问到数据库了

2 自动加载database(可选)

找到config下面的autoload.php,在  $autoload['libraries'] = array();  这个数组里写上'database',配置方面文件里也给出了一些例子,照着弄就OK了

二  原生SQL操作数据库

<?php
defined('BASEPATH') OR exit('No direct script access allowed');class User extends CI_Controller {public function showList(){$this->load->database();$query=$this->db->query("select * from tp_user order by id desc");$res=$query->result_array();$data["userList"]=$res;$this->load->view("user/list",$data);}public function mergeUser(){$this->load->database();$param=$this->input->get();$data[0]=$param['userName'];$data[1]=$param['id'];$sql="update tp_user set userName=? where id=?";$result=$this->db->query($sql,$data);if($result===False){echo "修改失败";}else{echo "受影响的行数".$this->db->affected_rows();}}}
?>

这种方式比较万能,复杂的查询或数据库操作可以选择这种方式,使用数据库或者返回视图都需要通过load方法,其中load数据库操作的时候可以使用自动加载,这样就不需要写很多次 $this->load->database();了

三 ORM模式操作数据库

<?php
defined('BASEPATH') OR exit('No direct script access allowed');class Dept extends CI_Controller {/***新增 */public function  saveDept(){$data=array("name"=>"后勤部","orderByValue"=>0,"description"=>"暂无","pid"=>0);$this->load->database();$res=$this->db->insert("tp_dept",$data);if($res===False){echo "保存失败";}else{echo "保存成功";}}/*** 修改操作*/public function updateDept(){$data=array("name"=>"卫生部","orderByValue"=>0);$this->load->database();$res=$this->db->update("tp_dept",$data,array("id"=>9));if($res===False){echo "修改失败";}else{echo "修改成功";}}/*** 删除操作*/public function removeDept(){$this->load->database();$res=$this->db->delete("tp_dept",array("id"=>9));if($res===False){echo "删除失败";}else{echo "删除成功";}}/*** 查询操作*/public function queryDept(){$this->load->database();$res=$this->db->get("tp_dept")->result_array();echo "<pre>";var_dump($res);}public function otherQuery(){$this->load->database();$res=$this->db->select("id,name,pid")->from("tp_dept")->where(array("id >"=>5))//->where("id in",array(5,6,8,10))->order_by("id asc")->get()->result_array();echo "<pre>";var_dump($res);}
}?>

result_array()用于把数据转成数组的形式方便后期页面的遍历读取

四  页面展示

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>用户列表</title>
<link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css">
</head>
<body>
<table class="table table-condensed"><caption>用户信息</caption><thead><tr><th>id</th><th>用户名</th><th>昵称</th><th>生日</th></tr></thead><tbody><?php foreach($userList as $u): ?><tr><td><?php echo $u['id'] ?></td><td><?php echo $u['userName'] ?></td><td><?php echo $u['nickName'] ?></td><td><?php echo $u['birthday'] ?></td></tr><?php endforeach;?></tbody>
</table>
</body>
</html>

和其他框架不同的是CI框架的页面展示默认不加载任何的模板引擎,还是最初的使用php代码直接在页面遍历或读取数据

CI框架的使用-原生SQL和ORM模式操作数据库、视图相关推荐

  1. thinkphp mysql 预处理_thinkPHP框架中执行原生SQL语句的方法

    本文实例讲述了thinkPHP框架中执行原生SQL语句的方法.分享给大家供大家参考,具体如下: 怎样在thinkphp里面执行原生的sql语句? $Model = new Model();//或者 $ ...

  2. Sql Server 和 Access 操作数据库结构Sql语句

    下面是Sql Server 和 Access 操作数据库结构的常用Sql,希望对你有所帮助. 新建表: create table [表名] ( [自动编号字段] int IDENTITY (1,1) ...

  3. php ci sql性能时间,Codeigniter操作数据库表的优化写法总结

    用codeigniter也有一段时间了,一直没有做什么总结.现在总结一些Codeigniter操作数据库表的优化写法,虽说不全,但是也确实可以帮助那些刚刚上手CI的同学. 链接数据库 复制代码 代码如 ...

  4. mysql dede arctiny_如何用织梦SQL命令行工具操作数据库及常用sql语句整理

    用织梦的朋友都知道,如果需要对数据库进行批量操作,可以用织梦后台[系统]-[sql命令行工具]实现.其实这只是织梦系统为了大家操作方便,提供的一个对mysql数据库操作的工具,这样大家在需要批量操作数 ...

  5. 【02】Java进阶:18-MySQL基础、数据库概述、数据库的安装/卸载/启动/登录、SQL概述、DDL操作数据库、DDL操作表、DML增删改查、

    day18-MySql基础 今日内容 数据库概述 数据库安装和卸载 SQL语句 DDL-----操作数据库,操作表 DML-----操作记录(增删改) DQL------操作记录(查) 学习目标 能够 ...

  6. TP6中db操作数据库的方式(方法)和ORM模型操作数据库的方式(方法)

    db库认知基础 注:orm独立出来了,与tp5不同 配置数据库: 通过env文件来具体配置,目的是不同的环境下,如线上服务器的配置只需要使用本环境的env文件就可以直接更改配置了 使用db: ① tp ...

  7. flask orm 数据库_Flask:使用ORM框架操作数据库

    在Flask中并没有限制我们使用哪种方式来操作数据库,如果使用原生SQL的方式来操作数据库,随着项目代码量的提升会发现有大量操作数据库的冗余代码,以及大量SQL语句与逻辑代码杂糅在一起不利于核心代码的 ...

  8. Django 使用 ORM 操作数据库详解

    ORM 是个啥? 在python中的一个默认的编写规范是一切皆对象,这样做使得代码简洁,结构清晰,便于维护和重用代码,同时极大的提升开发效率. 同样在操作数据库时,一般我们用SQL语句来实现操作,但是 ...

  9. orm mysql_PHP基于ORM方式操作MySQL数据库实例

    本文实例讲述了PHP基于ORM方式操作MySQL数据库.分享给大家供大家参考,具体如下: ORM----Oriented Relationship Mapper,即用面向对象的方式来操作数据库.归根结 ...

最新文章

  1. R package XML安装
  2. MemCached java client 1.5.1 性能测试
  3. OpenCV HDF读写属性
  4. 如果你的名字,当然【随机】给你
  5. gradle中的增量构建
  6. poj1741 Tree 点分治
  7. linux-basic(11)认识和学习bash
  8. 002 exercises
  9. 2016去哪儿编程题:字符替换
  10. 博弈论与逻辑思维(传教士与妻子忠贞的问题)
  11. 第12章 决策树 学习笔记中
  12. linux内核percpu变量声明,Linux内核对per-cpu变量的实现
  13. 常见问题-瑞友天翼应用虚拟化系统安装之前需要做什么准备
  14. 计算机硬盘使用率,硬盘占用率和速度
  15. C#网络编程技术教程pdf 文档分享
  16. Ngnix服务器详解(Windows版本)(非原创)
  17. 使用WinRadius服务器软件 搭建 radius 认证
  18. 【云原生】AI云开发平台——AI Model Foundry介绍(开发者可免费体验AI训练模型)
  19. 迷你csgo饰品租赁系统
  20. 分形图(fractal pictures)

热门文章

  1. VC 操作excel
  2. 【一起学Rust | 设计模式】习惯语法——使用借用类型作为参数、格式化拼接字符串、构造函数
  3. Python 抽签随机排序小程序
  4. C语言--编程将递增数列10、20、30、40、50、60、70、80、90、100保存到数组中,再从键盘输入一个整数,插入到该数列中,使之成为一个递增数列。
  5. 初识html5-当当网图书分类页面,图书添加页面 图书分类加载不出来
  6. ORB_SLAM2 KITTI数据集测试
  7. Amcharts--Chart with scroller
  8. XLSX.js读取excel文件忽略第一行
  9. win7自带tftp服务器,Win7系统开启TFTP服务器的方法
  10. 谈谈对测试驱动开发思想的体会