CI中能不能把sql语句能否和AR混合使用,具体举个例子怎么结合

作者&投稿:仰杨 (若有异议请与网页底部的电邮联系)
问一下,大家平常用ci数据库都用ar还是直接写sql~

如果追求执行高效能,那就自己刻SQL (不过前提你必需要有相当不错的SQL底子)如果追求开发效率,那就使用AR吧!

是啊$sql = 'delete select update insert'; $this->db->query($sql);原生的没有框架执速度快的,你不要误导别人拉句子就是试验品 查看更多答案>>

在CI框架中,尽量使用AR类进行数据库查询是比较靠谱的,因为在底层会帮助使用者进行一次有效的转义,但也仅仅是转义而已。

过滤的方法是escape_str() :<参考文章http://houdunwang.com/lesson.html>

function escape_str($str, $like = FALSE)

{

    var_dump($str);

    echo "
" ;

    if (is_array($str))

    {

        foreach ($str as $key => $val)

        {

            $str[$key] = escape_str($val, $like);

        }

        return $str;

    }

    if (function_exists('mysql_real_escape_string'))

    {

        $str = addslashes($str);

    }

    elseif (function_exists('mysql_escape_string'))

    {

        $str = mysql_escape_string($str);

    }

    else

    {

        $str = addslashes($str);

    }

    // escape LIKE condition wildcards

    if ($like === TRUE)

    {

        $str = str_replace(array('%', '_'), array('\\%', '\\_'), $str);

    }

    return $str;

}

该方法仅仅是调用了一些转义函数,并对like参数进行过滤。

如果查询的变量没有被单引号包裹,那么就无法进行保护:

更多问题到问题求助专区<http://bbs.houdunwang.com/>




PHP中如何使用mysqli_function调用MySQL数据库?
以下是一个简要的PHP调用MySQL函数的代码示例:php <?php retval = mysqli_connect($connect); \/\/ 连接数据库 if (!$retval) { die('相关错误信息'); \/\/ 处理连接失败情况 } \/\/ 接下来的代码将执行SQL语句并处理结果 \/\/ ...?> 通过学习更多的MySQL功能函数,开发者可以更高效地利用PHP与...

请问一下,我把SQLSERVER2000中和一张表删除了,为什么数据库的大小没有...
sp_resetstatus 关闭数据库的置疑标志,但是原封不动地保持数据库的其它选项。为从根本上解决这样的问题,你可以按下面的操作配置SQLSERVER 2000:a.如果不需要恢复到指定的时间点,你可以将数据库的恢复模式配置为简单,这样 UPDATE,DELETE,SELECT就不会记录日志,日志就不会增加的很大:USE MASTER GO ALTER ...

本地sql数据库怎么与远程sql数据库同步?
本地数据库结构跟远程的数据库结构一致,都是sql数据库,远程的数据库知道起ip地址,由于本地数据库的数据可能经常要增加,现在需要保持远程数据库跟本地数据库的同步,不知具体怎么操作,希望各位大侠不吝指教,小弟万分感谢.谢谢大家的关注,能不能用把操作步骤休息说明一下呢? 展开 ...

怎样从HTML网页中获取SQL数据库里的数据
1、sudo su postgres指令进入postgres。2、\\c test\\dt\\d首先查看一下有的表格。3、准备好sql文件。4、SELECT * FROM person先查看一下表格的内容。5、\\i \/home\/coffee\/Downloads\/person.sql导入文件,如果出现错误,没关系,继续往下看。6、DROP TABLE person;如果不想要表格,可以这样删除。再导入...

如何在SQLserver中利用循环语句插入大量的数据
这个在sqlserver里面不好做,要用到sql语言中的变量并且sql语音没有for不过有while,不过一般数据都不会这样批量输入,毕竟不是每条数据都之间都存在内在的联系。如果你真的想用for语句进行录入的话,你就用visual studio连接你的数据库用c#代码来完成这个活。DECLARE @id INT,@username NVARCHAR(50),@...

今天把我SQL字段给删了!~怎么让他还原
新建一个表bb,和原来表一样结构 CREATE TABLE [dbo].[bb] ([job_id] [smallint] IDENTITY (1, 1) NOT NULL ,[job_desc] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,[min_lvl] [tinyint] NOT NULL ,[max_lvl] [tinyint] NOT NULL ) ON [PRIMARY]把数据插入bb 表中 ...

isql不能使用
1. 检查Sybase是否安装在\/opt\/sybase 2. 检查\/opt\/sybase\/locales\/locales.dat 文件,看看本地名称"zh_CN.UTF-8" 是否在里面定义了

用这样配置的笔记本能运行SQL2008的数据库吗?:CPU,CORE,i72.8GHZ...
肯定可以啊,都这么高配置了

sql中什么时候需要用双引号,什么时候用单引号;
abc='I love u';echo $abc \/\/结果是:I love uecho '$abc' \/\/结果是:$abc echo "$abc" \/\/结果是:I love u 2,所以在对数据库里面的SQL语句赋值的时候也要用在双引号里面SQL="select a,b,c from ..."3,但是SQL语句中会有单引号把字段名引出来 例如:select * from table...

在sql语句中怎样把char类型转换成int类型?
首先char类型的必须是数字,将字符的数字转成数字,比如'0'转成0可以直接用加法来实现;例如:将pony表中的d 进行排序,可d的定义为varchar,可以这样解决;select * from pony order by (d+0);在进行ifnull处理时,比如 ifnull(a\/b,'0') 这样就会导致 a\/b成了字符串,因此需要把'0'改成0...

兴海县17765079144: 用access的sql语句的update中能否用avg -
里鱼菲悦: 可以,但得在先用聚合函数写一个SQL 再把这个SQL和一个UPDATE语句连接一下

兴海县17765079144: C#中的SQL查询语句可以包含子查询吗 -
里鱼菲悦: 当然可以,SQL是指一种标准的结构化查询语句.它是不以编程语言而转移的,只和数据库的支持有关系,看数据库支持到什么程度.几乎所有的关系型数据库都支持SQL查询和C#或者VB...没关系

兴海县17765079144: c++中怎么连接sqlserver -
里鱼菲悦: C++连接SQL数据库第一步 系统配置1.设置SQLSERVER服务器为SQL登录方式,并且系统安全性中的sa用户要设置登录功能为“启用”,还有必须要有密码.2.需要在ODBC中进行数据源配置,数据源选\”SQL SERVER”,登录方式使用“...

兴海县17765079144: asp的SQL语句中and 和or是不是不可以同时使用 -
里鱼菲悦: 可以同时使用

兴海县17765079144: SQL语句:"select * from a where.." 句中a为SQL数据库中的表格名,a可以是一个变量吗? -
里鱼菲悦: String tablename=""; //tablename为可以变化的表格名 String sql=""; sql="select * from "+tablename+" where.."; //这样,你可以把tablename做为一个变量随时进行变化,当然你变化了tablename,sql后面的whwer语句你也得注意看,保证where后的字段应该是table中的字段

兴海县17765079144: ci 数据库查询语句有sql 中between and 么? -
里鱼菲悦: 这个木有哦. select prod_name,prod_price from products where prod_price between 5 and 1;$this->db->select('prod_name,prod_price');$this->db->where('prod_price between 5 and 1');$this->db->get('products');目前也只能用这个方法了~

兴海县17765079144: 我想问下能不能在控制器中用原始的数据库操作语句
里鱼菲悦: 完全可以啊,你随便在哪里都可以用mysql函数操作mysql_connectmysql_query之类的操作其实$this->db->query不可以满足你的要求吗?

兴海县17765079144: 关系数据库有哪几种完整性
里鱼菲悦: 3.1 SQL 中的完整性约束 SQL把各种完整性约束作为数据库模式定义的一部分.既有效防止了对数据库的意外破坏,提高了完整性检测的效率,又可以减轻编程人员的负担. SQL对三种不同完整性约束的设置及检测,采取了不同的方式加以实...

兴海县17765079144: sql语句的in里面可以用sql语句吗? -
里鱼菲悦: commit肯定可以放在if语句里.主要看你怎么用而已.大体用法如下. 先insert语句 if(条件) commit else rollback 这样的意思就是,先插入一个记录,然后判断,如果if条件为真,则提交到库中,否则,回滚

兴海县17765079144: 请问C#中,如何将SQL语句和程序的代码,分离开来? -
里鱼菲悦: 添加一个类库,如下 using System; using System.Collections.Generic; using System.Text; namespace sqlComman { public class Comman { #region MainOfMonitor.aspx中使用的sql语句 //查询现场监控表数据的sql public const string ...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网