<?php
/**
* CodeIgniter
*
* An open source application development framework for PHP
*
* This content is released under the MIT License (MIT)
*
* Copyright (c) 2014 - 2016, British Columbia Institute of Technology
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*
* @package CodeIgniter
* @author EllisLab Dev Team
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc. (https://ellislab.com/)
* @copyright Copyright (c) 2014 - 2016, British Columbia Institute of Technology (http://bcit.ca/)
* @license http://opensource.org/licenses/MIT MIT License
* @link https://codeigniter.com
* @since Version 1.0.0
* @filesource
*/
defined('BASEPATH') OR exit('No direct script access allowed');
/**
* Query Builder Class
*
* This is the platform-independent base Query Builder implementation class.
*
* @package CodeIgniter
* @subpackage Drivers
* @category Database
* @author EllisLab Dev Team
* @link https://codeigniter.com/user_guide/database/
*/
abstract class CI_DB_query_builder extends CI_DB_driver {
/**
* Return DELETE SQL flag
*
* @var bool
*/
protected $return_delete_sql = FALSE;
/**
* Reset DELETE data flag
*
* @var bool
*/
protected $reset_delete_data = FALSE;
/**
* QB SELECT data
*
* @var array
*/
protected $qb_select = array();
/**
* QB DISTINCT flag
*
* @var bool
*/
protected $qb_distinct = FALSE;
/**
* QB FROM data
*
* @var array
*/
protected $qb_from = array();
/**
* QB JOIN data
*
* @var array
*/
protected $qb_join = array();
/**
* QB WHERE data
*
* @var array
*/
protected $qb_where = array();
/**
* QB GROUP BY data
*
* @var array
*/
protected $qb_groupby = array();
/**
* QB HAVING data
*
* @var array
*/
protected $qb_having = array();
/**
* QB keys
*
* @var array
*/
protected $qb_keys = array();
/**
* QB LIMIT data
*
* @var int
*/
protected $qb_limit = FALSE;
/**
* QB OFFSET data
*
* @var int
*/
protected $qb_offset = FALSE;
/**
* QB ORDER BY data
*
* @var array
*/
protected $qb_orderby = array();
/**
* QB data sets
*
* @var array
*/
protected $qb_set = array();
/**
* QB aliased tables list
*
* @var array
*/
protected $qb_aliased_tables = array();
/**
* QB WHERE group started flag
*
* @var bool
*/
protected $qb_where_group_started = FALSE;
/**
* QB WHERE group count
*
* @var int
*/
protected $qb_where_group_count = 0;
// Query Builder Caching variables
/**
* QB Caching flag
*
* @var bool
*/
protected $qb_caching = FALSE;
/**
* QB Cache exists list
*
* @var array
*/
protected $qb_cache_exists = array();
/**
* QB Cache SELECT data
*
* @var array
*/
protected $qb_cache_select = array();
/**
* QB Cache FROM data
*
* @var array
*/
protected $qb_cache_from = array();
/**
* QB Cache JOIN data
*
* @var array
*/
protected $qb_cache_join = array();
/**
* QB Cache WHERE data
*
* @var array
*/
protected $qb_cache_where = array();
/**
* QB Cache GROUP BY data
*
* @var array
*/
protected $qb_cache_groupby = array();
/**
* QB Cache HAVING data
*
* @var array
*/
protected $qb_cache_having = array();
/**
* QB Cache ORDER BY data
*
* @var array
*/
protected $qb_cache_orderby = array();
/**
* QB Cache data sets
*
* @var array
*/
protected $qb_cache_set = array();
/**
* QB No Escape data
*
* @var array
*/
protected $qb_no_escape = array();
/**
* QB Cache No Escape data
*
* @var array
*/
protected $qb_cache_no_escape = array();
// --------------------------------------------------------------------
/**
* Select
*
* Generates the SELECT portion of the query
*
* @param string
* @param mixed
* @return CI_DB_query_builder
*/
public function select($select = '*', $escape = NULL)
{
if (is_string($select))
{
$select = explode(',', $select);
}
// If the escape value was not set, we will base it on the global setting
is_bool($escape) OR $escape = $this->_protect_identifiers;
foreach ($select as $val)
{
$val = trim($val);
if ($val !== '')
{
$this->qb_select[] = $val;
$this->qb_no_escape[] = $escape;
if ($this->qb_caching === TRUE)
{
$this->qb_cache_select[] = $val;
$this->qb_cache_exists[] = 'select';
$this->qb_cache_no_escape[] = $escape;
}
}
}
return $this;
}
// --------------------------------------------------------------------
/**
* Select Max
*
* Generates a SELECT MAX(field) portion of a query
*
* @param string the field
* @param string an alias
* @return CI_DB_query_builder
*/
public function select_max($select = '', $alias = '')
{
return $this->_max_min_avg_sum($select, $alias, 'MAX');
}
// --------------------------------------------------------------------
/**
* Select Min
*
* Generates a SELECT MIN(field) portion of a query
*
* @param string the field
* @param string an alias
* @return CI_DB_query_builder
*/
public function select_min($select = '', $alias = '')
{
return $this->_max_min_avg_sum($select, $alias, 'MIN');
}
// --------------------------------------------------------------------
/**
* Select Average
*
* Generates a SELECT AVG(field) portion of a query
*
* @param string the field
* @param string an alias
* @return CI_DB_query_builder
*/
public function select_avg($select = '', $alias = '')
{
return $this->_max_min_avg_sum($select, $alias, 'AVG');
}
// --------------------------------------------------------------------
/**
* Select Sum
*
* Generates a SELECT SUM(field) portion of a query
*
* @param string the field
* @param string an alias
* @return CI_DB_query_builder
*/
public function select_sum($select = '', $alias = '')
{
return $this->_max_min_avg_sum($select, $alias, 'SUM');
}
// --------------------------------------------------------------------
/**
* SELECT [MAX|MIN|AVG|SUM]()
*
* @used-by select_max()
* @used-by select_min()
* @used-by select_avg()
* @used-by select_sum()
*
* @param string $select Field name
* @param string $alias
* @param string $type
* @return CI_DB_query_builder
*/
protected function _max_min_avg_sum($select = '', $alias = '', $type = 'MAX')
{
if ( ! is_string($select) OR $select === '')
{
$this->display_error('db_invalid_query');
}
$type = strtoupper($type);
if ( ! in_array($type, array('MAX', 'MIN', 'AVG', 'SUM')))
{
show_error('Invalid function type: '.$type);
}
if ($alias === '')
{
$alias = $this->_create_alias_from_table(trim($select));
}
$sql = $type.'('.$this->protect_identifiers(trim($select)).') AS '.$this->escape_identifiers(trim($alias));
$this->qb_select[] = $sql;
$this->qb_no_escape[] = NULL;
if ($this->qb_caching === TRUE)
{
$this->qb_cache
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
【项目资源】: 包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。 包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】: 所有源码都经过严格测试,可以直接运行。 功能在确认正常工作后才上传。 【适用人群】: 适用于希望学习不同技术领域的小白或进阶学习者。 可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】: 项目具有较高的学习借鉴价值,也可直接拿来修改复刻。 对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】: 有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 鼓励下载和使用,并欢迎大家互相学习,共同进步。
资源推荐
资源详情
资源评论
收起资源包目录
个人博客程序,基于CodeIgniter+Mysql.zip (756个子文件)
ci_session0fe6bc3459245329173e5116a82ccd997550c66c 34B
ci_session126bf23fb9b5689d1db218827c9ae2098895a499 34B
ci_session1d09c1061290c3e08f2fb708095dadd2a0569007 34B
ci_session201829976602614fb1ea7ef222c3b427b1596d58 34B
ci_session236bcda7b066728a47768d997217b17455a58951 58B
ci_session26beff375adfd9b697ac8e763675a7d80c265509 249B
ci_session271e80d16bbf6d2da08670d4fb3da58fe5c68f51 249B
ci_session291bb1717a9fbe23f8deef5fc422337f7ffc0508 34B
ci_session2da369f90e6d038acfecfe1a202b0b19c882a830 249B
ci_session2ea695b8a04acaf94ee5913215c66ef70153be82 34B
ci_session2eeda31da823ce3d99095e15fb196a59a3882803 34B
ci_session31ce08e21762b37a48cbf345b77abd5ce90636aa 34B
ci_session34e457e16b9321583eb0e76e76212643da5801b2 34B
ci_session3821424e2063578230ca395dd7fb5f6e5e67c36f 34B
ci_session399288412a167e50306a81ca424d00d5b25a805e 34B
ci_session3c313057b0e18e300c7fdc333766ffecb700f218 34B
ci_session48f9a89102f346e83f7cda220a200fe27fae7ace 34B
ci_session507749353ea2a57893ddd4a4f080c23a42edd53c 249B
ci_session51a1e5640b3c3be6c9d5915199ad08b74233fb43 34B
ci_session5560009a1ab662fc53df37a8bf0a62a94de08386 249B
ci_session569d2a1a1876db4ad1fc5af0d2651a1a33b21594 34B
ci_session5c62c1d1d25abbb7bb7be845fd453ac5ed329171 34B
ci_session64b513b5ad224bc49dc658680b90791b63d02d76 34B
ci_session6a8a8c7a67aefa01bf4680422ba293026271fc9c 34B
ci_session6be8cb0280d246d6e0a521e7ae9a123cc33d2cc9 34B
ci_session701a8bf067ff965b1dac1acdaf07f596d348f67e 34B
ci_session701d3ae26e1d959faf61fdeaa54b31de893b6126 34B
ci_session70b5db4449cfee18746f547858715624e465a60d 249B
ci_session7445548ae535420f80769783d3408decd2c4abc1 249B
ci_session7f2205d3bcf1a1ca6217305ceb722fa3e5d82158 34B
ci_session89b4eae36ce9237a8f0cab3054301f233809fad2 249B
ci_session8bbe77936bef0e34d8e03d5dd61291ac7a42d277 85B
ci_session8d7816de3e4f7f1a32a890443f0222279fd0bee5 56B
ci_session901ca81cc4bd533d2ea4e5223ee5b49c12d1aacb 34B
ci_session91e4cc112f23aec02c8f7a1e924326396fa47e1c 393B
ci_session92bab13c9e873c22c25fd2ca81f4a454623733c3 34B
ci_session93ab4898d752b739051b5d815b3c5dc7b909d7d2 249B
ci_session9584c73d65c0572a07f0e199054702a9f5e5c878 56B
ci_sessiona0a10097a3f8fabcb4c2ea30ca3cff41d49f613f 249B
ci_sessiona48a1dbefae287f79d49d7ac8281a992f33c7b09 56B
ci_sessiona63e1abcee5db9867475a45bac8360ff6c448fd3 34B
ci_sessiona89b06552c8e65ec329152498157a3ea687312a4 34B
ci_sessionaa361ef6c9bd28525520efba1e423eaddae90614 249B
ci_sessionab26b1f412f84b74e8e37b2508525cb5473de1d1 34B
ci_sessionad08625b731d15a3e63238520ecb21f08cdae3c7 34B
ci_sessionb21f3f2c3cef801f85407fc9533faa0889800c54 249B
ci_sessionb3e740089a5f8c164bea857306160b8b2ed30eaa 249B
ci_sessionb5c31fab58ae18b0495b73befe3bc46e0b4056f5 34B
ci_sessionb807520110d2a9edca2d7351c6fd61ab2aebd8a7 56B
ci_sessionba0ffed5a97f84a2bf08f06a943fe4773b30cc6c 34B
ci_sessionbb97a9ca5e376b3f7402772febe2ef0c5126c14d 249B
ci_sessionbeb3f095f781b4724cdd87113f2c6f3d63d5636a 34B
ci_sessionbebb93a55f776e26b11cb0c2fbe0d7cef3f07c06 56B
ci_sessionc053244801d59b646112629ab6bb6b724231d4c3 34B
ci_sessionc0fcabd434bf47eed8f2ee41270d349878c4d127 34B
ci_sessionc631643b832a9b6589ffc452fa71ba1b8daac829 34B
ci_sessionc895abe25f862c88daeb08fe20998c68c8ca1918 34B
ci_sessionc9865e1368e618394490f951a796ef60840e0318 249B
ci_sessioncce2a97af65a01c104fd93ff0a5c97cd58a0d26f 34B
ci_sessioncd9d4e6b7d65b78c3387343de19e9070afbfb046 34B
ci_sessionce232664da72b35811d5f446e6c1407397f5f232 56B
ci_sessiond293d9e5bf9af3488f679422fd925a97402b2c26 249B
ci_sessiond2a795d5abd992ff04e95cf7bc6c046c28aa9952 249B
ci_sessiond4305d8d54f85fb5e88253b284161b50b5b99a3d 34B
ci_sessiond56b95fa8716bd08fd6b6faf1e24fc1138102af5 34B
ci_sessiond922e4d5a77360f4b8b78bef1aa999bd0420a269 34B
ci_sessioneaaa67c5ac7f0f24d13a07756a4e0f7cdb2cc209 34B
ci_sessionecb7f9f5e51c7a6e49ed10f62739e355c82355f0 34B
ci_sessioned6bc735515389fa3aad798699237d5ba441cc82 34B
ci_sessionf5411c605fd5412652356a29323c15f92d49050b 34B
ci_sessionf65a304a06f38b45eb9988f10bedd6a2e4414acb 56B
ci_sessionfb602169ac75a5616d8f2da1747d3fb802906e9d 249B
bootstrap.min.css 120KB
ueditor.css 43KB
ueditor.min.css 34KB
video-js.css 21KB
image.css 18KB
video.css 15KB
attachment.css 14KB
video-js.min.css 11KB
layer.css 11KB
bootstrap-datetimepicker.min.css 11KB
style.css 7KB
shCoreDefault.css 7KB
shCoreDefault.css 7KB
scrawl.css 4KB
codemirror.css 3KB
layer.ext.css 3KB
charts.css 3KB
background.css 2KB
emotion.css 2KB
dialogbase.css 2KB
music.css 2KB
dashboard.css 2KB
edittable.css 1KB
template.css 1KB
signin.css 826B
webuploader.css 515B
help.css 389B
style.css 103B
共 756 条
- 1
- 2
- 3
- 4
- 5
- 6
- 8
资源评论
妄北y
- 粉丝: 1w+
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Qt开发知识、经验总结 包括Qss,数据库,Excel,Model/View等
- IV数据.xlsx
- 一些深度学习中的小例子,适合新手学习使用
- foldcraftlauncher_262944.apk
- 珍藏多年的基于matlab实现潮流计算程序源代码集合,包含多个潮流计算程序.rar
- 使用FPGA实现串-并型乘法器
- 基于matlab实现针对基于双曲线定位的DV-Hop算法中误差误差出一种基于加权双曲线定位的DV-Hop改进算法.rar
- 基于matlab实现由遗传算法开发的整数规划,车辆调度问题.rar
- 电视家7.0(对电视配置要求高).apk
- 免费计算机毕业设计-基于JavaEE的医院病历管理系统设计与实现(包含论文+源码)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功