CodeIgniter框架学习

安装

下载好包后,解压复制 system 和 application 目录到网站目录下

配置

  1. 配置目录

    打开index.php设置好 $system_path$application_folder $view_folder 三个变量的值如'/www/MyUser/system'
  2. 配置数据库

    打开application/config/database.php配置为
$db['default'] = array(
'dsn' => '',
'hostname' => 'localhost',
'username' => 'root',
'password' => '',
'database' => 'database_name',
'dbdriver' => 'mysqli',
'dbprefix' => '',
'pconnect' => TRUE,
'db_debug' => TRUE,
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array()
);

测试mysql

<?php
defined('BASEPATH') OR exit('数据库驱动脚本不成功');
class Db extends CI_Controller{
public function demo()
{
$this->load->database();
$query = $this->db->query('SELECT * FROM users');
foreach ($query->result() as $row)
{
echo $row->id;//id为字段号
echo $row->name;
echo $row->mail;
}
echo 'Total Results: ' . $query->num_rows();
}
}

注:CI框架控制器以大写开头

CI框架DB操作

codeigniter (CI)是一个优秀、敏捷的PHP开源框架,尤其封装了对数据库的操作,很方便,以下是php ci常用的数据库操作,作个记录:

查询操作

$query = $this->db_query("SELECT * FROM table");//查询
$data = $query->result();//返回对象数组
$data = $query->result_array();// 返回数组
$data = $query->row();//只返回一行对象数组
$data = $query->num_rows();//返回查询结果行数
$data = $query->num_fields();//返回查询请求的字段个数
$data = $query->row_array();//只返回一行数组
$data = $query->free_result();//释放当前查询所占用的内存并删除关联资源标识

插入操作

echo $this->db->insert_id();//上次插入操作生成的ID
echo $this->db->affected_rows();//写入和更新操作被影响的行数
echo $this->db->count_all('table_name');//返回指定表的总行数
echo $this->db->version();//输出当前的数据库版本号
echo $this->db->platform();//输出当前的数据库平台
echo $this->db->last_query();//返回最后运行的查询语句
//$data = array('name' => $name, 'email' => $email, 'url' => $url);
$this->db->insert_string('table_name', $data);//插入数据,被插入的数据会被自动转换和过滤

更新操作

//$data = array('name' => $name, 'email' => $email, 'url' => $url);
//$where = "author_id = 1 AND status = 'active'";
$this->db->update_string('table_name', $data, $where);//更新数据,被更新的数据会被自动转换和过滤,例如:

选择数据

$this->db->get('table_name');//获取表的全部数据
$this->db->get('table_name', 10, 20);//第二个参数为输出条数,第三个参数为开始位置
$this->db->get_where('table_name', array('id'=>$id), $offset);//获取数据,第一个参数为表名,第二个为获取条件,第三个为条数
//select方式获取数据
$this->db->select('title, content, date');
$data = $this->db->get('table_name');
//获取字段的最大值,第二个参数为别名,相当于max(age) AS nianling
$this->db->select_max('age');
$this->db->select_max('age', 'nianling');
//获取字段的最小值
$this->db->select_min('age');
$this->db->select_min('age', 'nianling');
//获取字段的和
$this->db->select_sum('age');
$this->db->select_sum('age', 'nianling');
//自定义from表
$this->db->select('title, content, date');
$this->db->from('table_name');
//查询条件 WHERE name = 'Joe' AND title = 'boss' AND status = 'active'
$this->db->where('name', $name);
$this->db->where('title', $title);
$this->db->where('status', $status);
//范围查询
$this->db->where_in('item1', 'item2');
$this->db->where_not_in('item1', 'item2');
//匹配,第三个参数为匹配模式 title LIKE '%match%'
$this->db->like('title', 'match', 'before/after/both');
$this->db->not_like();
//分组 GROUP BY title, date
$this->db->group_by('title', 'date');
//限制条数
$this->db->limit(0, 20);

PHP学习

require '17mb/class/sql.php';需要这文件

$url=$_SERVER['REQUEST_URI'];URL地址

$_GET[sortid]取GET的sortid的变量

abs(-4.2)//4.2,的绝对值

ceil(9.999)//10 进一法取整

mt_rand(0,9)//0到9中的随机数,比rand()更好

pi()圆周率值,常量

min()返回最小值,

trim()删除二边的空格 前面加R与L各代表右\左

str_pad($str,20,".")填充指定的长度

str_repeat(".",10)重复输出10个.字符串

str_split("Hello")输出字符串对应的数组

strrev()反转字符串

wordwrap($str,15)按指定长度拆行

大小写转换:

strtolower全小写 strtoupper全大写 ucfirst字符串第一个大写 ucwords每个单词首字母大写

strcasecmp()不区分大小写比较两字符串

md5()字符串md5编码

https://www.jb51.net/article/101179.htm

https://blog.csdn.net/newjueqi/article/details/7803033

mysql语句

创建表

CREATE TABLE wedconfig
(
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
name VARCHAR (20),
name_value VARCHAR (100)
)

PHP与CI学习笔记的更多相关文章

  1. php:ci学习笔记1

    ci下载的开发包:     phpstudy的部署: phpstudy的根目录是:D:\WWW 新建目录 cms  把ci开发包的application   system index.php  lic ...

  2. CI 学习笔记、记录

    [ci框架]ci框架目录结构分析 分类: [CodeIgniter深入研究]2013-05-09 00:24 7420人阅读 评论(5) 收藏 举报 [php] view plaincopy mysh ...

  3. 0025 Java学习笔记-面向对象-final修饰符、不可变类

    final关键字可以用于何处 修饰类:该类不可被继承 修饰变量:该变量一经初始化就不能被重新赋值,即使该值跟初始化的值相同或者指向同一个对象,也不可以 类变量: 实例变量: 形参: 注意可以修饰形参 ...

  4. BZOJ 1061: [Noi2008]志愿者招募 [单纯形法]【学习笔记】

    1061: [Noi2008]志愿者招募 Time Limit: 20 Sec  Memory Limit: 162 MBSubmit: 3975  Solved: 2421[Submit][Stat ...

  5. 毕业设计 之 二 PHP学习笔记(一)

    毕业设计 之 二 PHP学习笔记(一) 作者:20135216 平台:windows10 软件:XAMPP,DreamWeaver 一.环境搭建 1.XAMPP下载安装 XAMPP是PHP.MySQL ...

  6. Android学习笔记(三)——初探Intent

    //此系列博文是<第一行Android代码>的学习笔记,如有错漏,欢迎指正! Intent 是 Android 程序中各组件之间进行交互的一种重要方式,它不仅可以指明当前组件想要执行的动作 ...

  7. C++Primer第5版学习笔记(一)

    C++Primer第5版学习笔记(一) 第一.二章的重难点内容        这个笔记本主要记录了我在学习C++Primer(第5版,中文版)的过程中遇到的重难点及其分析.因为第一.二章都比较简单,因 ...

  8. C++学习笔记——大杂烩

    C++学习笔记--大杂烩                                                         by方阳 版权声明:本文为博主原创文章,转载请指明转载地址 h ...

  9. python数据分析入门学习笔记

    学习利用python进行数据分析的笔记&下星期二内部交流会要讲的内容,一并分享给大家.博主粗心大意,有什么不对的地方欢迎指正~还有许多尚待完善的地方,待我一边学习一边完善~ 前言:各种和数据分 ...

随机推荐

  1. P1439 【模板】最长公共子序列(LCS)

    先来看一看普通的最长公共子序列 给定字符串A和B,求他们的最长公共子序列 DP做法: 设f[i][j]表示A[1~i]和B[1~j]的最长公共子序列的长度 那么f[i][j]=max(f[i-1][j ...

  2. UITextView输入中文时限制字数

    最近因为项目中输入用户简称时限制长度,被测试部多次提交问题,最终将解决方法分享给大家. 刚开始用最简单的方法,在textView的代理方法里面做处理 - (void)textViewDidChange ...

  3. Jenkins获取运行job的用户名(在构建历史中展示构建人)

    首先安装插件: jenkins>>manage jenkins>> manage plugins>>可选插件>>搜索并安装插件: user build ...

  4. Delphi XE2 之 FireMonkey 入门(25) - 数据绑定: TBindingsList: 表达式的灵活性及表达式函数

    Delphi XE2 之 FireMonkey 入门(25) - 数据绑定: TBindingsList: 表达式的灵活性及表达式函数 绑定表达式中可以有简单的运算和字符串连接, 但字符串需放在双引号 ...

  5. Delphi XE2 之 FireMonkey 入门(19) - TFmxObject 的子类们(表)

    参考: 和 FMX 相关的类(表) TFmxObject IFreeNotification             TAnimation TBitmapAnimation           TBi ...

  6. SSM Maven MallDemo项目为例

    一.创建maven项目 项目结构 创建一个空项目 1. mall (**pom**) 父模块,用于放置公共属性.依赖关系等. 2. mall-util (**jar**) 工具模块,用于放置常用工具类 ...

  7. 100 IncDec序列

    IncDec序列 Description 给定一个长度为 n 的数列 a1,a2,-,an,每次可以选择一个区间 [l,r],使下标在这个区间内的数都加一或者都减一. 求至少需要多少次操作才能使数列中 ...

  8. PL/SQL Developer 报错Dynamic Performance Tables not accessible, Automatic Statistics disabled for this session You can disable statistics in the preference menu, or obtain select priviliges on the V$ses

    可以从以下几个方面考虑: 1)单独给用户授动态性能视图的权限: SQL> grant select on V_session  to user; SQL> grant select on  ...

  9. js之模板方法模式

    模板方法模式的定义和组成: 模板方法模式是一种只需使用继承就可以实现的非常简单的模式. 模板方法模式由两部分结构组成,第一部分是抽象父类,第二部分是具体的实现子类.通常在抽象父类中封装了子类的算法框架 ...

  10. [Python3] 005 列表的基本使用

    目录 1. 列表概述 2. 创建列表 3. 列表常用操作 (1) 访问列表 (2) 分片操作 1) 正向操作 2) 反向操作 3) 内置函数 id() 加入队伍 1. 列表概述 一组有顺序的数据的组合 ...