问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

CodeIgniter 是什么?

发布网友 发布时间:2022-04-30 02:42

我来回答

2个回答

懂视网 时间:2022-04-30 07:03

可以创建多个数据库连接配置,通过$active_group选择使用哪个数据库连接 $active_group = ‘default‘; // 配置是否加载查询构建类,默认为TRUE,通常保持默认值 $query_builder = TRUE; // 数据库连接配置,可以有多个连接配置,索引需要区分开 $db[‘default‘] = array( ‘dsn‘ => ‘‘, ‘hostname‘ => ‘localhost‘, // ip ‘username‘ => ‘root‘, // 用户名 ‘password‘ => ‘123456‘, // 密码 ‘database‘ => ‘workplatform‘, // 数据库名称 ‘dbdriver‘ => ‘mysqli‘, // 使用什么库访问数据库 // 目前可以支持cubrid,ibase,mssql,mysql,mysqli,oci8 // odbc, pdo, postgre, sqlite, sqlite3, sqlsrv ‘dbprefix‘ => ‘‘, // 表前缀 ‘pconnect‘ => FALSE, ‘db_debug‘ => TRUE, ‘cache_on‘ => FALSE, // 是否启用查询缓存 ‘cachedir‘ => ‘‘, // 查询缓存目录 ‘char_set‘ => ‘utf8‘, ‘dbcollat‘ => ‘utf8_general_ci‘, ‘swap_pre‘ => ‘‘, // 交换表前缀,表前缀的替换写法 ‘encrypt‘ => FALSE, ‘compress‘ => FALSE, ‘stricton‘ => FALSE, ‘failover‘ => array(), ‘save_queries‘ => TRUE );

在使用数据库前,需要使用装载器来加载数据库对象

$this->load->database();

装载完成后,$this->db就是这个数据库对象,以后的数据操作都是调用这个对象的方法进行

首先定义SQL语句:

$sql = ‘SELECT * FROM user‘;

再调用db对象的query方法进行查询

$result = $this->db->query($sql);

返回值$result是一个对象,通过调用它的方法可以返回不同形式的结果,例如:调用它的result()方法获取查询结果

$users = $result->result();

此时,$users是一个对象数组,或者调用它的result_array()方法获取关联数组查询结果

$users = $result->result_array();

调用row()方法以对象形式返回第一条记录或第几条记录

$users = $result->row();

但是,如果SQL是增、删、修改语句,query()方法将返回TRUE或FALSE,此时通过db的方法可以获取执行的结果,比如:

$this->db->affected_rows(); // 获取影响的行数
$this->db->insert_id(); // 获取插入数据的id

在执行数据库操作前,由于不知道在查询前$this->db是否已经生成,因此都需要调用$this->load->database()方法,通过修改/application/config/autoload.php文件,可以让CI自动加载数据库

$autoload[‘libraries‘] = array(‘database‘);

如果SQL语句中的变量过多,会影响语句的编写,这时可以采用占位符来解决

$data[0] = ‘dj‘;
$data[1] = ‘123456‘;
$sql = "INSERT INTO user (account, password, usertype, username) VALUES (‘1231‘, ?, ‘1‘, ?)";
$result = $this->db->query($sql, $data);

传入的数组中的元素会依次取代SQL中的?,生成实际的SQL语句

备注:在测试这段代码时,由于错误的在字段名两侧加上了’,造成一直报错,引以为戒

CodeIgniter学习笔记(七)——CI中的数据库操作

标签:

热心网友 时间:2022-04-30 04:11

CodeIgniter 是一个为用 PHP 编写网络应用程序的人员提供的工具包。它的目标是实现让你比从零开始编写代码更快速地开发项目,为此,CI 提供了一套丰富的类库来满足通常的任务需求,并且提供了一个简单的接口和逻辑结构来调用这些库。CodeIgniter 可以将需要完成的任务代码量最小化,这样你就可以把更多的精力放到项目的开发上了。
CodeIgniter 是免费的
CodeIgniter 是经过 Apache/BSD-style 开源许可授权的,只要你愿意就可以使用它。阅读许可协议可获得更多的信息。
CodeIgniter 是轻量级的
真正的轻量级。我们的核心系统只需要一些非常小的库,这与那些需要更多资源的框架完全相反。额外的库文件只在请求的时候加载,依需求而定,所以核心系统是非常快而且轻的。
CodeIgniter 是快速的
速度非常快。你要找到一个比 CodeIgniter 表现更优的框架应该很难吧。
CodeIgniter 使用 M-V-C 模型
CodeIgniter 使用了模型(Model)- 视图(View)- 控制器(Controllers)的方法,这样可以更好地使表现层和逻辑层分离。这对项目的模板设计者来说是非常有用的,它最小化了模板中的程序代码量。我们在 MVC 各自的页面中对此做了更多的介绍。
CodeIgniter 生成干净的 URL
CodeIgniter 生成的 URL 非常干净而且是对搜索引擎友好化的。不同于标准的字符串查询方法,CodeIgniter使用了 基于段 的方法:
example.com/news/article/345注意:index.php 文件是被默认包含在 URL 中的,但是可以通过更改 .htaccess 文件来改变这个设置。
CodeIgniter 功能强大
CodeIgniter 拥有全范围的类库,可以完成大多数通常需要的网络开发任务,包括: 读取数据库、发送电子邮件、数据确认、保存 session 、对图片的操作,以及支持 XML-RPC 数据传输等。
CodeIgniter 是可扩展的
这个系统可以非常简单的通过自定义类库、辅助函数来进行扩展,或者也可以通过扩展类、系统钩子来实现。
CodeIgniter 不需要模板引擎
虽然 CodeIgniter确实自带了一个可选的模板解析器程序,但不要求你必须使用模板。模板引擎完全与本地化PHP代码的性能需求不符,使用模板引擎我们要学习其语法,这最低限度只比学PHP基础要容易一点点。考虑以下PHP代码:<ul
<li<?=$name?</li
<?php endforeach; ?</ul再来对比模板引擎所使用的伪代码:<ul
{foreach from=$addressbook item=name}
<li{$name}</li
{/foreach}</ul的确,例中模板引擎的代码比较清晰,但这带来一个性能问题,因为伪代码要先被转换成PHP才能运行。我们的目标是性能最大化
, 所以我们选择不使用专用的模板引擎。
CodeIgniter 已彻底文档化
程序员都喜欢写代码讨厌写文档。当然我们也一样,但是既然文档和代码本身一样重要,我们就要完成它了。况且我们代码资源极其干净而且方便注释。
CodeIgniter 拥有一个友好的用户社区
你可以在我们的社区论坛中看到一个成长中的积极活跃的用户社区。翻译贡献者:
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
玉米仁子饭产自哪里 中国期货交易所的交易品种有哪些? 历史要怎么读,有啥诀窍 高中历史诀窍 年终会活动策划方案 深度解析:第一财经回放,探索财经新风向 逆水寒手游庄园怎么邀请好友同住 逆水寒手游 逆水寒不同区可以一起组队吗? 逆水寒手游 逆水寒怎么进入好友世界? 逆水寒手游 逆水寒怎么去别人的庄园? 山东省淄博市淄川区在哪里查征信 张店哪个银行打征信 淄博24小时征信报告去哪里打? 淄博临淄的中国人民银行还能打征信吗? 秋冬季适合喝什么茶养生?净雪皇-扎雅养生茶好吗? 美少女万华镜4乱码 美少女万华镜4汉化补丁出错 - 信息提示 美少女万华镜4为什么汉化硬盘版打开游戏还是中文 美少女万华镜4汉化补丁怎么安装 matlab怎么用fsolve函数解非线性方程组 labview与matlab混合编程时,matlab中fsolve函数在labview中怎样调用? MATLAB中用FSOLVE解方程怎么实现循环 请问怎么用matlab的fsolve函数怎么求解这个方程呢? MATLAB fsolve函数调用 Matlab中fsolve的用法 matlab软件fsolve函数,里面各项的意义: 关于matlab中fsolve的使用 求助Matlab fsolve用法 matlab关于fsolve函数 阿里星球福字怎么扫?阿里星球扫福字教程 一个洗衣机和一台热水器共1400元洗衣机比热水器便宜100元洗衣机要多少钱? 华为手机怎么关闭激活锁? 扫描全能王回收站文件能保存多长时间 - 信息提示 如何分析庄家的成本 在股市里怎样识别庄家的持仓成本? 如何分析股票庄家的成本价? 如何看庄家成本? 快手怎样发图片 CodeIgniter ThinkPHP 框架 新手学习 求美少女万华镜1~4汉化版的 老年白内障饮食原则有哪些? 白内障症状 在吃的方面应该注意哪些 白内障患者有什么饮食禁忌呢? 眼睛做完白内障吃饭要注意什么 白内障手术后饮食要注意什么? 做完白内障手术吃什么对病情有好处? 牧原股份股价为什么长期走弱?牧原股份2021季报?牧原股份如何变身成为年度牛股? 为什么鸡蛋放在盐上就不会倒