在使用CI框架的时候, 经常的Active Record 类,这时候会出现一个问题

  使用Active Record 类组成的sql 中,为了防止sql注入,会自动的在表名,字段名 自动添加反引号

  当然这是极好的,但是有时候会出现一些小问题

  预计生成的sql     HAVING user_id > 45

  $this->db->having('user_id > 45'); 
  官方文档: // 生成: HAVING user_id > 45

  实际生成: // 生成: HAVING `user_id > 45`

  $this->db->having('user_id>', 45);

  实际生成: // 生成: HAVING `user_id>` = 45

  可以发现,因为CI会自动添加反引号,导致我的sql 不能达到预期的效果

  仔细翻找文档发现

  $this->db->select('id',false)中有提到,第二个参数中添加false可以去掉反引号

  但并没有说明在Active Record 方法中都适用,于是突发奇想,是不是否可以这样呢

  添加第三个参数false,去掉了反引号,达到了预期的sql语句

  $this->db->having('user_id >', 45, false);

  //生成 :HAVING user_id > 45

PHP CI框架如何去掉 sql 里的反引号的更多相关文章

  1. CI 框架怎么去掉隐藏入口文件 index.php

    当我重新接触一个框架的时候首先肯定要去掉入口文件,也就是index.php 这个东西在url上很不漂亮,而且每次我访问我的网站的时候都要打进去url里面.这样告诉一个去掉 CI框架里面入口文件的方法, ...

  2. CI框架uri去掉index.php

    CI框架的入口是index.php,所以url实际上要多出一个index.php,非常不美观.我使用的是apache服务器,要开启mod_rewrite服务才可以. sudo a2enmod rewr ...

  3. ci框架url去掉index.php

    去掉index.php: 1.修改配置文件, $config['index_page'] = ' '; 设置空 2.修改Apache,搜索 htaccess  将 AllowOverride None ...

  4. ci框架中输出sql语句

  5. linux 里的`反引号

    Shell中可以将数字或字符直接赋予变量,也可以将Linux命令的执行结果赋予变量,如下: (1) $ count=9           #将数字赋予变量count (2) $ name=" ...

  6. **【ci框架】精通CodeIgniter框架

    http://blog.csdn.net/yanhui_wei/article/details/25803945 一.大纲 1.codeigniter框架的授课内容安排 2.codeigniter框架 ...

  7. CI框架大纲总结

    一.大纲 1.codeigniter框架的授课内容安排 2.codeigniter框架的简介 |-----关于框架的概念 |-----使用CI框架的好处 |-----为什么选择CI框架 3.codei ...

  8. php CI框架中URL特殊字符处理与SQL注入隐患

    php CI框架中URL特殊字符处理与SQL注入隐患 php CI框架中URL特殊字符有很多是不支持的,导致像c++,括号这些常用的分类,字符都无法正常显示很头痛,而在配置里增加单引号' 反斜杠\ 这 ...

  9. 在nginx下去掉ci框架url中的index.php

    ci框架默认的url规则中带有应用的入口文件,例如: example.com/index.php/news/article/my_article 在以上URL中带有入口文件index.PHP,这样的U ...

随机推荐

  1. linux kernel swap daemon

    The name swap daemon is a bit of a misnomer as the daemon does more than just swap modified pages ou ...

  2. Django(一)创建和启动项目

    1,使用pycharm 2,新建工程使用django框架 location 最后一个文件夹名就是project名,我用了DjangoProject. Application 是自动加入的APP名字,我 ...

  3. python爬虫常见面试题(一)

    前言 之所以在这里写下python爬虫常见面试题及解答,一是用作笔记,方便日后回忆:二是给自己一个和大家交流的机会,互相学习.进步,希望不正之处大家能给予指正:三是我也是互联网寒潮下岗的那批人之一,为 ...

  4. ContentType&CORS&Git

    ContentType django内置的ContentType组件就是帮我们做连表操作 如果一个表与其他表有多个外键关系,我们可以通过ContentType来解决这种关联 from django.d ...

  5. webView的使用以及总结

    一.webview是什么? Android WebView 做为承载网页的载体控件,他在网页显示的过程中会产生一些事件,并回调给我们的应用程序,以便我们在网页加载过程中做应用程序想处理的事情.比如说客 ...

  6. Redis 缓存服务器

    Redis 服务器 Remote Dictionay Server   Redis是一个key-value持久化产品,通常被称为数据结构服务器. Redis的key是string类型:value可以是 ...

  7. Qt 获取组合键 键盘按住某键 鼠标组合实现

    #include "mainwindow.h" #include <QDebug> #include <QKeyEvent> #include <QM ...

  8. each遍历 的原理

    <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>& ...

  9. 偶尔用得上的Git操作

    Git 工作流 一个不错的工作流图示 创建一个空分支 git checkout --orphan 分支名 删除远程分支和tag git push origin :<branchName> ...

  10. mysql 变量名称的使用不当的一个错误

    对于开发来说重要的是按照规范进行开发. 昨天自己在进行开发测试的时候,编写mysql 的一个存储过程 ,代码是比较简单的 就是根据名称查询对应的数据并返回 DELIMITER // CREATE PR ...